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

来源:互联网 发布:matlab智能算法有哪些 编辑:程序博客网 时间:2024/05/19 05:37

本文实践代码是在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()中就能接受到广播了


阅读全文
0 0