【发布时间】:2023-03-23 19:38:01
【问题描述】:
我想这样做,当有人插入耳机时,会出现一个通知图标。我已经做到了,所以当手机打开时,它会启动 MainActivity 类,该类在 OnCreate 方法中包含通知图标的代码,因此它会自动启动。问题在于它启动了我不想要的整个活动和应用程序。我只是想让图标出现。我该怎么办?谢谢!
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Intent myIntent = new Intent(context, MainActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
}
以上代码在启动时启动 MainActivity。
通知图标代码
//Notification Icon Starts
NotificationManager nm=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification=new Notification(R.drawable.icon_notification, "Icon Notification", System.currentTimeMillis());
Context context=MainActivity.this;
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), Notification.FLAG_ONGOING_EVENT);
notification.flags = Notification.FLAG_ONGOING_EVENT;
notification.setLatestEventInfo(this, "Notification Icon", "Touch for more options", contentIntent);
Intent intent=new Intent(context,MainActivity.class);
PendingIntent pending=PendingIntent.getActivity(context, 0, intent, 0);
nm.notify(0, notification);
//Notification Icon Ends
【问题讨论】:
-
您能否详细说明您的问题。您需要在哪里通知?请添加更多代码。
-
@androiduser 我真的需要在用户连接耳机时出现通知图标。我希望通知出现在手机的最顶部(通知区域,将其拉下以用于通知抽屉)我已经编写了该代码,并且可以正常工作。 (用它更新了主要问题)但我只想在用户插入耳机时运行该代码。我不希望应用程序启动或其他任何事情,只是为了显示该图标。
标签: android notifications boot headset