我想这样做,当有人插入耳机时会出现一个通知图标。我已经做到了这一点,当手机开启此运行时,启动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
答案 0 :(得分:0)
正如我在your last question中所写的那样,在您的清单中添加一个<receiver>
来监听ACTION_HEADSET_PLUG
广播。 documentation显示Intent
个附加内容,您可以使用这些内容来确定是否插入了耳机(state
)等。
答案 1 :(得分:0)
我发布了一个解决方案,可让您监控耳机状态(有线和蓝牙),over here。可以轻松扩展此解决方案以允许您显示通知。