android后台广播接收机
广播接收机是否在清单中静态定义的后台运行。有人能解释一下吗?另外,如何在api 26oreo和更高版本的后台运行broadcastreceiverandroid后台广播接收机,android,broadcastreceiver,background-service,Android,Broadcastreceiver,Background Service,广播接收机是否在清单中静态定义的后台运行。有人能解释一下吗?另外,如何在api 26oreo和更高版本的后台运行broadcastreceiver <receiver android:name=".ScreenOnOffReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action a
<receiver android:name=".ScreenOnOffReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="myintent"/>
</intent-filter>
</receiver>
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
谢谢。随着android O Forward后台限制的实施,只有一些广播(如BOOT_COMPLETED等)才允许进行静态注册。当应用程序处于前台时,任何其他应用程序都应该动态注册/注销。
此处有更多信息-是的,我查看了此页面,但当我在androidmanifes中实现BOOT_COMPLETED action时,后台没有收到。请将代码片段粘贴到此处,以了解代码中是否有错误?我已将其粘贴到上面,请确认您是否在清单中使用了权限,因为-接收者也被放置在正确的包中,我的意思是。ScreenOnOffReceiver应该匹配。这不起作用。我添加了RECEIVE\u BOOT\u COMPLETED权限。
public class ScreenOnOffReceiver extends BroadcastReceiver {
public final static String SCREEN_TOGGLE_TAG = "SCREEN_TOGGLE_TAG";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.d(SCREEN_TOGGLE_TAG, " action name : " + action);
}