0

在我的代码中,我创建了一个通知,一旦单击该通知就会尝试卸载由其包名称标识的应用程序。我希望只有在成功卸载应用程序后通知才会消失。如果用户单击“取消”以弹出应用程序卸载,我希望通知持续存在。

任何想法我该怎么做?

    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);
4

1 回答 1

1

有一种方法。你可以为它创建一个广播接收器

已移除包裹

我确定您在某处保留通知 ID。只需使用该 ID 来取消通知。为每个应用程序固定一个卸载 id 或包 id,在广播接收器中接收意图并使用通知管理器取消通知。

于 2015-02-16T15:35:28.997 回答