android - 如何向 list 中的接收者发送自定义广播操作?

标签 android broadcastreceiver android-manifest android-broadcast

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/

相关文章:

android - 使用我的 android 应用程序打开特定文件

java - 如何以编程方式填充 Android Manifest 元数据值?

java - 在模拟器中运行时,libgdx 在 helloworld 应用程序上抛出异常

android - 在发布 apk 中禁用 LogCat 输出?

android - android中广播接收器的多个 Action

android - 警报(管理器)未调用广播接收器

android - 使用 LocalBroadcastManager 是发送应用程序范围事件的最合适方法吗?

java - 在 MyApp 类中扩展 MultiDexApplication

Android 应用程序已分配给任何可能的文件 - 应仅分配给我的自定义文件

java - 如何创建当我单击 ListView (android studio)中的项目时显示的弹出菜单?