Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android:捕获应用程序退出大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个可播放声音的应用程序.当用户启动声音时,我会使用以下代码显示状态栏通知

notificationmanager = (notificationmanager) activity.getSystemservice(Activity.NOTIFICATION_serviCE);

Intent intent = new Intent(activity,MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOp);

PendingIntent pendingIntent = PendingIntent.getActivity(activity,intent,0);

notification = new Notification();
notification.icon = android.R.drawable.stat_notify_sync;
notification.flags |= Notification.FLAG_ONGOING_EVENT;

String title = activity.getString(R.String.notification_titlE);
String text = activity.getString(R.String.notification_text);

notification.setLatestEvenTinfo(activity,title,text,pendingIntent);

这工作正常.稍后,如果用户停止所有声音,我使用notificationmanager.cancel删除通知,再次,这工作正常.

我的问题是我想处理某人使用任务杀手应用程序的情况.如果有人使用其中一个来杀死我的应用,我希望从状态栏中删除通知图标.我知道有很多用户喜欢使用这些应用程序,我不想让一些人抱怨他们无法“关闭”我的应用程序!

到目前为止,我还没有能够检测到应用程序即将退出的时间.我试过这个:

Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler()
{
  @Override
  public void uncaughtException(Thread thread,Throwable eX)
  {
    notificationmanager.cancel(NOTIFICATION_ID);
  }
});

而且这个:

Runtime.getRuntime().addShutdownHook(new Thread()
{
  @Override
  public void run()
  {
     notificationmanager.cancel(NOTIFICATION_ID);              
  }
});

但这不起作用.当我的应用程序被杀死时,通知图标仍然存在.要杀死我的应用程序,我一直在使用名为“高级任务杀手”的应用程序.我也通过在DDMS中杀死我的进程来测试.

我注意到原生媒体播放器正@L_696_21@样做.如果正在播放音乐并且您终止音乐服务,则图标将消失.

那么,有没有办法检测应用程序何时即将退出,以便我可以删除通知图标?或者,如果我的应用程序被杀,是否有办法自动删除通知图标?

谢谢!

解决方法

通知栏显示两种类型的图标:

>通知,由应用程序或系统发送
>前台服务

你正在使用第一种类型.它是应用程序(或系统)发送的通知,其目标是向用户提供一些信息.示例:邮件到达,低存储空间,我的帖子上的新@L_673_36@.
这些是用户理论上想要检查的所有信息,它应该保持在那里,直到用户点击它以查看详细信息(如果有的话)或决定删除它们删除所有留下的通知.

我将从documentation开始讨论前台服务

您在问题中提到的音乐应用就是这种情况.音乐应用内部的播放器部分实现为前台服务.当用户选择歌曲并播放它时,通过应用UI,服务开始(并且图标出现在通知栏中)并且歌曲再现开始并且它可以独立于UI本身继续.当歌曲结束或用户停止再现时,图标将在服务(应该)停止时消失.

要了解有关如何实现前台服务的更多信息,请参阅上面的链接(只需单击“文档”一词)

大佬总结

以上是大佬教程为你收集整理的Android:捕获应用程序退出全部内容,希望文章能够帮你解决Android:捕获应用程序退出所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。