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を使用して通知をキャンセルしてください。アプリごとに 1 つのアンインストール ID またはパッケージ ID を固定し、ブロードキャスト レシーバーでインテントを受け取り、通知マネージャーを使用して通知をキャンセルします。

于 2015-02-16T15:35:28.997 に答える