如何发一个带权限的广播
发送广播的函数有好几个,其中一个是sendBroadcast(Intent intent, String receiverPermission)。
根据API描述这个函数发送广播之后,接收器需要先注册权限才可以接收的。请问这个权限要怎么注册?
我试了好久都不可以,是不是我的manifest文件写的不对啊,文件的内容如下,请高手帮我看一下
- XML code
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" /> <permission android:name="com.broadcast.permission" android:description="@string/permission" android:protectionLevel="normal" > </permission> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".TestActivity" android:label="@string/app_name" android:permission="com.broadcast.permission" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
我在发送广播的地方sendBroadcast(intent, String receiverPermission)receiverPermission参数传的R.string.permission的值
[解决办法]
[解决办法]
[解决办法]
其实这个权限在发送广播的AndroidManifest.xml中不声明都可以,直接在发送的时候填上就可以了例如sendBroadcast(intent,"com.example.broadcast"),在接收器里要进行声明例如一个接收器的AndroidManifest.xml为:<permission android:name="com.example.broadcast" android:protectionLevel="normal"/> <uses-permission android:name="com.example.broadcast"/>这样在这个应用里的broadcastreceiver只要具有和广播相同的action就会运行