MyReceiver.java
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
Log.i("MyReceiver", "MyAction received!");
}
}
在AndroidManifest.xml
中(在application
标签下)
<receiver android:name=".MyReceiver">
<intent-filter>
<action android:name="MyAction" />
</intent-filter>
</receiver>
MainActivity.Java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sendBroadcast(new Intent("MyAction"));
}
}
MyReceiver.onReceive
方法永远不会被触发。
我错过了什么吗?
最佳答案
I use Android 8.
然后你必须使用一个明确的Intent
,一个标识接收者的,例如:
sendBroadcast(new Intent(this, MyReceiver.class).setAction("MyAction"));
参见 Broacast limitations在 Android 8 发布文档中。
关于android - 如何向 list 中的接收者发送自定义广播操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49197282/