在我的代码中,我创建了一个通知,一旦点击,就会尝试卸载由其包名标识的应用。我希望只有在成功卸载应用程序后通知才会消失。如果用户针对应用程序卸载弹出窗口单击“取消”,我希望通知保持不变。
我有什么想法可以做到这一点?
Uri packageURI = Uri.parse("package:" + package_name);
Intent intent = new Intent(Intent.ACTION_DELETE, packageURI);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pintent=PendingIntent.getActivity(context,0,intent,0);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setContentIntent(pintent);
builder.setContentTitle(uninstallAppNotificationTitle);
builder.setTicker(uninstallAppNotificationTicker);
builder.setContentText(uninstallAppNotificationContent);
builder.setWhen(System.currentTimeMillis());
builder.setAutoCancel(true);
builder.setDefaults(Notification.DEFAULT_ALL);
builder.setSmallIcon(android.R.drawable.ic_dialog_alert);
builder.setStyle(new NotificationCompat.BigTextStyle().bigText(uninstallAppNotificationContent)) ;
builder.setPriority(Notification.PRIORITY_MAX);
builder.setOngoing(true);
Notification notification = builder.build();
notification.contentIntent = pintent;
NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(TAG, uninstallNotificationId, notification);
答案 0 :(得分:1)
有一种方法。你可以为它创建一个广播接收器
我确定你在某处坚持通知ID。只需使用该ID取消通知。为每个应用程序修复一个卸载ID或包ID,在广播接收器中接收意图并使用通知管理器取消通知。