【发布时间】:2017-12-22 12:07:43
【问题描述】:
我尝试实现BroadcastReceiver的权限方式。
在sender类中,我尝试发送普通广播
Intent intent = new Intent();
intent.setAction("com.vn.BroadcastReceiver");
intent.putExtra("Foo", "Bar");
sendBroadcast(intent);
带有AndroidManifest 文件
<uses-permission android:name="com.nhp"/>
在receiver类中,我写了一个自定义的FirstBroadcastReceiver
public class FirstBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = FirstBroadcastReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "onReceive: " + intent.getStringExtra("Foo"));
}
}
及其AndroidManifest
<permission android:name="com.nhp" />
<receiver
android:permission="com.nhp"
android:exported="true"
android:name=".receivers.FirstBroadcastReceiver">
<intent-filter>
<action android:name="com.vn.BroadcastReceiver" />
</intent-filter>
</receiver>
我先安装 receiver 应用程序,然后再安装 sender。它奏效了!!
但是当我尝试拨打sendBroadcast(intent,"com.nhp"); 时,它永远不会触发任何事情。任何人都可以为我解释为什么?谢谢
【问题讨论】:
标签: java android android-permissions android-broadcast android-broadcastreceiver