我想创建一个通知,点击它时应该打开活动.但是当我点击通知活动时没有打开.
任何帮助将不胜感激.这是我的代码:
notificationmanager notificationmanager = (notificationmanager) context .getSystemService(Context.NOTIFICATION_SERVICE); Intent intent = new Intent(context, MessageReceivedActivity.class); intent.putExtra("payload", payload); intent.setAction(Long.toString(System.currentTimeMillis())); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_top | Intent.FLAG_ACTIVITY_SINGLE_top); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); Notification.Builder notification = new Notification.Builder(context) .setContentTitle("Message Received") .setSmallicon(R.drawable.icon) .setContentText(payload) .setContentIntent(pendingIntent) .setautoCancel(true); Notification notificationn = notification.getNotification(); notificationmanager.notify(0, notificationn);
解决方法:
用这个:
Notification.Builder notification = new Notification.Builder(context).setContentIntent(getDialogPendingIntent(Text, intentname));private PendingIntent getDialogPendingIntent(String dialogText, String intentname) { return PendingIntent.getActivity( context, dialogText.hashCode(), new Intent(ACTION_DIALOG) .putExtra(Intent.EXTRA_TEXT, dialogText) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) .setAction(intentname), 0);}
getDialogPendingIntent(Text, intentname) : intentname=com.yourProject.exrta.yourIntentname
如果需要,您可以更改addFlags或putExtra.
如果使用Intent name调用不起作用,请使用类似的类,它必须工作:
Intent notificationIntent = new Intent(MainActivity.this, TestActivity.class);// set intent so it does not start a new activitynotificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_top | Intent.FLAG_ACTIVITY_SINGLE_top);PendingIntent intent = PendingIntent.getActivity(MainActivity.this, 0, notificationIntent, 0);notificationmanager notificationmanager = (notificationmanager) MainActivity.this .getSystemService(Context.NOTIFICATION_SERVICE);Notification.Builder notification = new Notification.Builder(MainActivity.this) .setContentTitle("Message Received") .setSmallicon(R.drawable.ic_launcher) .setautoCancel(true) .setContentIntent(intent);Notification notificationn = notification.getNotification();notificationmanager.notify(1, notificationn);
总结 以上是内存溢出为你收集整理的android – 通知不打开Acivity onCLick全部内容,希望文章能够帮你解决android – 通知不打开Acivity onCLick所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)