android广播打开软件需要开起弹窗权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android广播打开软件需要开起弹窗权限相关的知识,希望对你有一定的参考价值。

参考技术A 引导用户打开相应权限

获取当前堆栈,判断应用是否被打开,如果未被打开则强行将应用提至前台

经过测试,第一种方法无效。第二种方案是必备的,让用户打开权限自然是最好的,第三种方法则是比较取巧的方法,这里着重讲第三种方案

先判断我们的界面是否已经被调用到前台

ActivityManager activityManager= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

List list = activityManager.getRunningTasks(1);

if (list != null && list.size() > 0)

ComponentName cpn = list.get(0).topActivity;

Log.e("className",""+cpn.getClassName());

if (className.equals(cpn.getClassName()))

return true;

android中自定义广播需要哪个权限

接受者的清单文件:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.permissionbroadcastreceiver">

<permission android:name="com.example.broadcast.permission"
android:protectionLevel="normal" />
<application android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".PermissionRecevicer"
android:permission="com.example.broadcast.permission">
<intent-filter>
<action android:name="com.example.permissionbroadcastreceiver.message" />
</intent-filter>
</receiver>
</application></manifest>123456789101112131415161718192021222324252627282930

在清单文件中声明一个权限,然后在receiver中要求发送者具有此权限,这样广播接受者进程就算是准备完成了!!
广播发送者的清单文件:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.permissionbroadcast">

<uses-permission android:name="com.example.broadcast.permission" />
<application android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application></manifest>12345678910111213141516171819202122

在清单文件请求刚才在接收者清单文件声明的权限即可,这里的运行结果就不展示了,只是log而已!!!
参考技术A Broadcast

以上是关于android广播打开软件需要开起弹窗权限的主要内容,如果未能解决你的问题,请参考以下文章

Android实战开发篇 监听广播唤起Activity(活动)Dialog弹窗的方案

android 自定义的launcher在6.0后需要动态申请权限?

Android 进程常驻----开机广播的简单守护以及总结

unity+android权限--打开应用不弹权限,动态请求权限

appium+python自动化47-首次打开app权限弹窗问题

android 广播自定义广播接收问题