【问题标题】:Cancel Notification on App Uninstall取消应用卸载通知
【发布时间】:2015-02-16 14:51:39
【问题描述】:

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

有什么想法可以做到吗?

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

【问题讨论】:

  • 显示“应用程序卸载弹出窗口”的代码,我希望您的意思是某种 AlertDialog。
  • 我已经发布了代码。 @马库斯

标签: android android-intent android-activity android-notifications android-applicationinfo


【解决方案1】:

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

Package removed

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

【讨论】:

    猜你喜欢
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 2017-08-21
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    • 2021-11-06
    相关资源
    最近更新 更多