notificaion-在Android中如何清除一个通知状态?

问题描述

在Android中如何清除一个通知状态?

我清除不了一个状态栏通知。

public void NotificationStatus(){

    Intent intent = new Intent(this, Stimulation.class);
    NotificationManager notificationManager
        = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    Notification notification = new Notification(
        david.flanagan.android.VenAssist.Activities.R.drawable.notification_icon,
        "VenAssist Stimulation ON", System.currentTimeMillis());
    PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);
    notification.flags |= Notification.FLAG_ONGOING_EVENT;
    notification.flags |= Notification.DEFAULT_VIBRATE;
    notification.defaults |= Notification.DEFAULT_SOUND;
    notification.setLatestEventInfo(this, "VenAssist",
        "Stimulation Started", activity);
    notificationManager.notify(0, notification);
}

然后又试图在服务器中的onDestroy()函数中调用notification.cancel(0);清除通知状态。
我创建了一个通知的实例,但是不确定是否正确。

private NotificationManager notification;

当我取消了服务,想清除通知状态时,应用程序就崩溃了。
请求大家的帮助,谢谢!

解决方案

正如 cytown 所说。notification可能为空,才会导致 NullPointerException。
我认为你应该使用一个NotificationManager对象来取消一个notification。使用相同的ID,你的例子中是0,传递到NoticationManager.cancel(Int)中:

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancel(0);

解决方案二:

应该是notification没赋值吧,导致NPE。尽量不要用这种容易引起歧义的命名方式。

时间: 2024-12-21 02:32:13

notificaion-在Android中如何清除一个通知状态?的相关文章

notification-清除一个通知状态出现的问题

问题描述 清除一个通知状态出现的问题 我不知道如何清除一个通知状态. public void NotificationStatus(){ Intent intent = new Intent(this, Stimulation.class); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); Notification notificatio

android中如何让一个service无法被一键清理给清理掉

问题描述 android中如何让一个service无法被一键清理给清理掉 android中如何让一个service无法被一键清理给清理掉 比如音乐播放服务,一键清理对它无作用,除了添加白名单 还有其他一开始设计软件的时候就无法被清理的方法吗 解决方案 一键清理,与系统内存不足时自动清理是由区别的. 一键清理,只能通过增加白名单:否则,无论服务是否活动,都会被清楚. 解决方案二: 建议题主不要开发流氓软件 解决方案三: Service的粘性模式 实现 就算是被杀死了也会重新启动(虽然Service

求教android中如何控制一个activity在内存中的实例个数

问题描述 求教android中如何控制一个activity在内存中的实例个数 项目中有个需求,一个activity中有个按钮可以打开自己的另一个实例,那么这样就会出现不停的点,不停的创建这个activity实例的情况出现,有没有方法可以控制这个activity实例的个数啊,比如只保留最近打开的三个这个activity实例,有没有方法可以实现的啊,求教大神们 解决方案 android 让自己的Activity只创建一个实例 解决方案二: 机器人的回答没有用啊,需要是保存3个实例,不是一个啊 解决方

android中怎么实现一个自定义对话框

问题描述 android中怎么实现一个自定义对话框 android界面中,单击EditText弹出一个时间对话框, 解决方案 1.可以自定义对话框的布局 2.新建一个activity 设置android:theme="@style/mydialog" parent="@android:style/Theme.Dialog" ><br> <item name="android:windowNoTitle">true&l

android中泛型传入一个外部类,处理后传回原来的类,问题求解!

问题描述 android中泛型传入一个外部类,处理后传回原来的类,问题求解! 部分代码如下: 入口类定义一泛型private List itemlist; itemlist=new ArrayList(); 创建外部类对象 GetData getdata=new GetData(itemlist); getdata.returndata(): 包中的外部类 public class GetData extends Activity{ private List<Item_activity> it

android中如何把一个imageview放在另一个imageview的顶部?

问题描述 android中如何把一个imageview放在另一个imageview的顶部? 这是我设置的布局,一直没有成功 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_heig

android中怎么设置一个日期的自定义对话框

问题描述 android中怎么设置一个日期的自定义对话框 在android界面中,单击EditText,弹出一个日期对话框.应该怎么弄?求大神帮忙!!! 解决方案 参考android 点击EditText 弹出日期选择器DatePickerDialog 解决方案二: 上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

android中如何实现在静音状态下播放警报

问题描述 android中如何实现在静音状态下播放警报 我想做一个防盗应用在手机静音的状态下也能报警,这和闹钟原理应该一样 请帮我解答 谢谢 解决方案 闹钟到时打开音量,用户确定后恢复到静音. 解决方案二: setVolumeControlStream(AudioManager.STREAM_SYSTEM);试试

Android中利用NetworkInfo判断网络状态时出现空指针(NullPointerException)问题的解决方法_Android

在Android中,很多人会用如下的方法判断当前网络是否可用: /** * 获取当前网络状态(是否可用) */ public static boolean isNetworkAvailable() { boolean isAalable = false; ConnectivityManager connManager = (ConnectivityManager) BaseApplication.getApplication().getSystemService(Context.CONNECTI