通知单击后,报警管理器不会解除

时间:2016-05-02 04:21:28

标签: android notifications alarmmanager

我已经使用了所有警报管理器代码,但我没有设法查看我的错误

我想要的是,当我打开应用程序时,它执行主要代码并设置警报管理器计时器以弹出通知,但是当我关闭应用程序并等待弹出窗口出现时显示,但当我再次启动应用程序时,会显示通知

当我点击任务栏中的通知时,它会消失,它会将我发送到我的主要活动,没关系,但任务栏中的通知不会破坏:(

这是我的代码

import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;

/**
 * Created by Usuario on 01/05/2016.
 */
public class Notification_reciever extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

        Intent repeating_intent = new Intent(context,MainActivity.class);
        repeating_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

        PendingIntent pendingIntent = PendingIntent.getActivity(context,100,repeating_intent,PendingIntent.FLAG_UPDATE_CURRENT);

        NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
                .setContentIntent(pendingIntent)
                .setSmallIcon(android.R.drawable.arrow_up_float)
                .setContentTitle("GIOTON")
                .setContentText("Prueba de notificaciones")
                .setAutoCancel(true);

        notificationManager.notify(100,builder.build());



    }
}

这是我的通知收件人

$ str='(Dfa_and_Cfa && Second_Up_or_Down && Third_Down_or_Up_or_Positive) || (First_Up_or_Down) && Third_Down_or_Up && Dfa_and_Cfa && Third_Down_or_Up && Fourth_Up_or_Down'
$ fold -sw70 <<< "$str"
(Dfa_and_Cfa && Second_Up_or_Down && Third_Down_or_Up_or_Positive) || 
(First_Up_or_Down) && Third_Down_or_Up && Dfa_and_Cfa && 
Third_Down_or_Up && Fourth_Up_or_Down

1 个答案:

答案 0 :(得分:0)

使用广播接收器通过Id解除通知。

Intent startIntent = new Intent(context,context,                     NotificationClickReciever.class); 在创建意图时使用通知点击接收器。

以下代码解除通知 -

public static void cancelNotification(Context ctx,int notifyId){

    String s = Context.NOTIFICATION_SERVICE;

    NotificationManager mNM = ( NotificationManager ) ctx.getSystemService( s );
    mNM.cancel( notifyId );
enter code here
}