我已阅读其他解决方案,但由于Android O中的广播限制,我正在创建新问题。
我的应用正在制作Google Play音乐应用的广播。当用户播放音乐时,它将保存音乐的数据。清单文件中的接收者声明如下:
<receiver
android:name=".syncMusic.stock.StockMusicReceiver"
android:enabled="true"
android:exported="true"
tools:ignore="ExportedReceiver">
<intent-filter>
<action android:name="com.android.music.playstatechanged"/>
<action android:name="com.android.music.metachanged"/>
</intent-filter>
</receiver>
它在版本O之前完美无缺。我已阅读Background Execution limits in O。
默认情况下,这些更改仅会影响针对Android 8.0(API级别26)或更高级别的应用。但是,用户可以从“设置”屏幕为任何应用启用这些限制,即使该应用针对的API级别低于26.您可能需要更新您的应用以符合新的限制。
当app未在后台运行时,如何使用Job Scheduler在Android O(如以前的Android版本)中播放播放音乐的广播?
答案 0 :(得分:0)
您可以通过编程方式注册广播接收器。
提示:如果从BroadcastReceiver类中执行此操作,请使用getApplicationContext()。registerReceiver(...),否则Android会引发Exception(不允许从BroadcastReceiver上下文中进行)>