Android:点击操作后取消通知(如呼叫)

Dak*_*ksh 5 notifications android action

我有一个通过以下方式拨打号码的操作

uri = Uri.parse("tel:" + address);
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(uri);
PendingIntent pd = PendingIntent.getActivity(context, 0,intent, 
       PendingIntent.FLAG_UPDATE_CURRENT);
notif.addAction(R.drawable.ic_menu_call, "Call", pd);
Run Code Online (Sandbox Code Playgroud)

但问题是我不知道

如何/何时调用 NotificationManager 的manager.cancel()函数

以便在单击调用操作时关闭通知!

Yah*_*r10 0

请参阅Android 读取手机状态?- 关于手机状态。

case TelephonyManager.CALL_STATE_RINGING:
    notificationManager = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.cancel(100); // cancel notification by ID
                    break;
Run Code Online (Sandbox Code Playgroud)

// 构建您的通知。

intent notificationIntent = new Intent(context,
                    YourPhoneActivity.class);
            notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
                    | Intent.FLAG_ACTIVITY_SINGLE_TOP);
            PendingIntent intent = PendingIntent.getActivity(context, 0,
                    notificationIntent, 0);

            Bitmap bm = BitmapFactory.decodeResource(context.getResources(),
                    iconLarge);
            NotificationCompat.Builder builder = new NotificationCompat.Builder(
                    context).setSmallIcon(iconSmall).setLargeIcon(bm)
                    .setContentTitle(title).setContentText(message)
                    .setAutoCancel(false).setContentIntent(intent).setWhen(when)
                    .setTicker(message);
             builder.getNotification();
Run Code Online (Sandbox Code Playgroud)