我希望在我的应用运行时将我的应用图标放在通知区域中。我搜索了很多并使其成为可能,以便在通知区域中显示它。
public class MainActivity extends ActionBarActivity {
NotificationManager mNotificationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Context context = getApplicationContext();
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setTicker("This is a new notification")
.setContentTitle("Notification")
.setContentText("App runing..")
.setSmallIcon(R.mipmap.ic_launcher);
Intent intent = new Intent(context, MainActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 0);
builder.setContentIntent(pIntent);
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notif = builder.build();
mNotificationManager.notify(1, notif);
}
@Override
protected void onDestroy() {
super.onDestroy();
mNotificationManager.cancel(1);
}
}
但我想要的是点击通知时我不想打开任何活动。
例如:电池已满时电池信息图标出现,它不会打开任何应用程序或活动,也不会点击通知区域将其删除。
PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 0);
将此一行代码更改为此
PendingIntent pIntent = PendingIntent.getActivity(context, 0, null, 0);
它会像我想要的那样工作,但只有在模拟器上,当我在真实设备中运行此代码时,它才会崩溃。
如何在我的应用中完成此任务?如何在没有Intent
和PendingIntent
的情况下放置通知图标?
答案 0 :(得分:1)
PendingIntent contentIntent = PendingIntent.getActivity(
getApplicationContext(),
0,
new Intent(), // add this
PendingIntent.FLAG_UPDATE_CURRENT);
答案 1 :(得分:1)
与通知或通知管理器无关 您可以通过将一行代码更改为此来实现,
PendingIntent pIntent = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);