Android发送权限受限的广播,指定接受方!

本文实践代码是在Android7.1上的系统级源码上验证通过的。

1.首先是发送方:

在frameworks\base\core\res\AndroidManifest.xml中定义权限

<protected-broadcast android:name="intent.action.LOW_MEMORY" />

<uses-permission android:name="com.softmanager.permission.send.SOFTMANAGER"/>
 <permission android:name="com.softmanager.permission.send.SOFTMANAGER"
	android:protectionLevel="signature|privileged"/>

在代码需求的地方发出广播

Intent systemMgrIntent = new Intent();
systemMgrIntent.setAction("intent.action.LOW_MEMORY");
systemMgrIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
context.sendOrderedBroadcast(systemMgrIntent, "com.softmanager.permission.receiver.SOFTMANAGER");

2.然后是接受方:

在项目的

AndroidManifest.xml中声明权限

<uses-permission android:name="com.softmanager.permission.receiver.SOFTMANAGER" />
<permission
    android:name="com.gionee.softmanager.permission.receiver.SOFTMANAGER"
    android:protectionLevel="normal" />
 
android:permission="com.softmanager.permission.send.SOFTMANAGER"

在Receiver.java中要添加权限

<receiver android:name=".Receiver"
            android:permission="com.softmanager.permission.send.SOFTMANAGER"
            android:exported="true">
            <intent-filter>
                <action android:name="intent.action.LOW_MEMORY"/>
            </intent-filter>
        </receiver>

最后在onReceiver()中就能接受到广播了

发布了134 篇原创文章 · 获赞 197 · 访问量 41万+

猜你喜欢

转载自blog.csdn.net/u011733020/article/details/100124074