Android基础篇 BroadcastReceiver广播中弹出Activity或者Dialog BroadcastReceiver系列
Posted 彭老希
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android基础篇 BroadcastReceiver广播中弹出Activity或者Dialog BroadcastReceiver系列相关的知识,希望对你有一定的参考价值。
一、androidManifest.xml文件中添加悬浮窗权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
(1)Dialog弹窗
(a) 在onReceiver()中弹出对话框(警告框),必须设置对话框的类型,并添加相应权限。
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
(b)动态注册广播
(2)Activity活动
(a)在onReceiver()方法中启动活动,必须添加
Intent intent = new Intent(this,XXXXXActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
(b)动态注册广播 or 静态注册广播
总结
Android是不允许Activity或Dialog凭空出现的,一个Activity的启动必须要建立在另一个Activity的基础之上,也就是以此形成的返回栈。
而Dialog则必须在一个Activity上面弹出(除非是System Alert类型的Dialog)。
以上是关于Android基础篇 BroadcastReceiver广播中弹出Activity或者Dialog BroadcastReceiver系列的主要内容,如果未能解决你的问题,请参考以下文章