Android 在启动/耳机插件上显示通知图标
我想让它成为这样,当一个耳机插头在那里一个通知图标出现。我已经这样做了,当手机打开时,它会启动MainActivity类,该类在OnCreate方法中有通知图标的代码,所以它会自动启动。问题是它启动了整个活动和应用程序,这是我不想要的。我只想让图标出现。我该怎么做呢?谢谢大家!Android 在启动/耳机插件上显示通知图标,android,notifications,boot,headset,Android,Notifications,Boot,Headset,我想让它成为这样,当一个耳机插头在那里一个通知图标出现。我已经这样做了,当手机打开时,它会启动MainActivity类,该类在OnCreate方法中有通知图标的代码,所以它会自动启动。问题是它启动了整个活动和应用程序,这是我不想要的。我只想让图标出现。我该怎么做呢?谢谢大家! public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Intent myIn
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);
}
上述代码在引导时启动main活动
通知图标代码
//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
正如我在中所写,在清单中添加一个侦听
操作\u耳机\u插头
广播的
。显示了Intent
附加功能,您可以使用这些附加功能来确定耳机是否已插入(state
),等等。我发布了一个解决方案,允许您监控耳机状态(有线和蓝牙)。这个解决方案可以很容易地扩展,允许您显示通知。我明白了。使用这个接收器<代码>但是我如何做一个if-else语句来说明如何处理它。在哪里。这就是令人困惑的地方me@FernandoRamirez例如我不知道你在说什么。您“希望在插入耳机时显示通知图标”。这需要在BroadcastReceiver
设置的onReceive()
方法中输入十几行左右的代码,以监听ACTION\u header\u PLUG
广播。我只需要知道如何在后台工作,比如在不打开应用程序的情况下检测它。就像这个新问题。我已经解决了所有的问题,除了这一个,这是我的最后一个。请详细说明您的问题。哪里需要通知?请为此添加更多代码。@androiduser我确实需要在用户连接耳机时显示通知图标。我希望通知出现在手机的最上面(通知区域,下拉到通知抽屉),我已经有了编写的代码,它可以工作。(更新了主要问题)但我只想在用户插入耳机时运行该代码。我不希望应用程序启动或任何事情,只希望图标出现。