这个问题与onTaskRemoved()没有重复,并未在HUAWEI和XIOMI设备中调用
问题:
当我按下主页按钮并杀死应用程序onTaskRemoved()(服务类覆盖方法) - 未调用.
如果我按下按钮并杀死应用程序 - > onTaskRemoved()完美调用
这个问题发生在Android棒棒糖版本和oreo版本中
MyService.class - > Manifest声明
<service android:name=".MyService"
android:label="MyService"
android:stopWithTask="false"
android:enabled="true"
android:exported="true"
/>
Run Code Online (Sandbox Code Playgroud)
我已经使用了返回START_STICKY ; 在onStartCommand()中
经过测试的设备
联想,三星 - 棒棒糖版
三星 - 奥利奥版
欢迎任何建议或意见.您的小技巧将有助于解决这个巨大的问题.
我将其视为问答风格,因为我发现这个想法有效。它解决了 Android 初学者难以解决的难题。
Google 已弃用
Broadcast Receiver从 API 级别 26+ 开始注册到如下所示的清单(部分除外)
<receiver android:name=".MyBroadcastReceiver" android:exported="true">
<intent-filter>
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
但是,如果一个人想要在应用程序处于后台时接收特定的设备状态更改,例如互联网连接更改(这是不允许的),并且如果这对其应用程序的任何功能都很重要,那么他应该做什么?
service android broadcastreceiver android-intent android-broadcastreceiver
每当用户拨打新电话时,我都试图在我的应用程序上获得通知触发器.我在我的活动中注册接收器并在onDestroy()方法中销毁它.以下是用于注册的代码片段
registerReceiver(inComingCall = new IncomingCall(),new IntentFilter("android.intent.action.PHONE_STATE"));
Run Code Online (Sandbox Code Playgroud)
我面临的问题是我没有在广播接收器的覆盖onReceive()方法中获得任何触发器.请告诉我是否有任何新的实施方式或我应该采取的单独方式来接收特别是奥利奥的广播.
提前致谢.
android broadcastreceiver android-broadcast android-8.1-oreo