sendBroadcast無法接收消息可能原因


Beginning with Android 8.0 (API level 26), the system imposes additional restrictions on manifest-declared receivers. If your app targets API level 26 or higher, you cannot use the manifest to declare a receiver for most implicit broadcasts (broadcasts that do not target your app specifically).

意思靜態注冊的廣播在8.0以上是不能用,推薦用代碼注冊廣播。
解決方案可以這么做:

配置:

<receiver android:name="MyStart">

    <intent-filter>
<action android:name="com.example.y.myapplication" />
</intent-filter>
</receiver>
代碼:
Intent intent = new Intent();
                intent.setComponent(new ComponentName("com.example.y.myapplication","com.example.y.myapplication.MyStart"));
                getApplicationContext().sendBroadcast(intent);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM