Android开发中,可以通过以下方法发送广播
public class MainActivity extends AppCompatActivity {
public static String Action = "com.example.yqwan.action.custom";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent();
intent.putExtra("msg", "how old are you?");
intent.setAction(MainActivity.Action);
intent.setPackage("com.yqwan.broadcastreceive");
MainActivity.this.sendBroadcast(intent);
}
}
其中调用的setPackage()方法进行更详细的说明,借用《第一行代码》的解释:
在Android8.0系统之后,静态注册的BroadcastReceiver是无法接收隐式广播的,而默认情况下我们发出的自定义广播恰恰都是隐式广播。
因此这里一定要调用setPackage()方法,指定这条广播是发送给哪个应用程序的,从而让它变成一条显式广播,否则静态注册的BroadcastReceiver将无法接收到这条广播。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)