BroadcastReceiver doesnt receive when app is closed

浪子不回头ぞ 提交于 2019-12-11 17:23:16

问题


I know this question is similar to many questions of BroadcastReceiver but as I read, non of them have solutions. the tutorial of BroadcastReceiver tells it will work even app was not running in the background, my question is why I can not use it when app is not running I tried to call broadcast from main activity, use service and .... but non of them solved my problem.

here is my CODE:

MyReceiver java Class:

public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,"BroadCast Trigger",Toast.LENGTH_SHORT).show();
    }
 }

Also MyManifest Code:

<receiver
    android:name=".MyReceiver"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="android.media.VOLUME_CHANGED_ACTION" />
    </intent-filter>
</receiver>

回答1:


As I found there is no way to active BroadcastReceiver in Huawei Devices programmatically, but here is a solution to find device type and do needed action in this regard such as show an alert to user to activate it manually.

        if ("huawei".equalsIgnoreCase(android.os.Build.MANUFACTURER)) {
        // Do Needed Action
    }



回答2:


I faced with same problem on Huawey Honor with Android 7. On Sony and ZTE devices BroadcastReceiver works as expected. But on Honor it work some time and suddenly stop. I discover, that problem not related with re-boot. I reboot device and broadcast receiver work after it. But sometimes, it stop without rebooting.

First i add my app to protected list according this solution: "Protected Apps" setting on Huawei phones, and how to handle it

But it didn't help :(

Then, i add a fake accessibility service to my app, according to this recommendation: Broadcast Receiver Not Working After Device Reboot in Android

And problem was solved!



来源:https://stackoverflow.com/questions/47246402/broadcastreceiver-doesnt-receive-when-app-is-closed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!