Huawei EMUI 8 Oreo小部件错误的RemoteViewsService解决方法?

时间:2018-10-17 21:37:14

标签: android widget android-8.0-oreo remoteview huawei

因此,华为的Oreo实现(EMUI 8)中的一个错误终止了依赖RemoteViewsService的小部件的功能(它们根本不再更新)。这是一个已知的错误,但是华为不在乎(几个月以来)。

read on xda有一些解决方法显然可以使小部件再次更新。

所以我尝试了建议的解决方法,该方法取决于两件事:

  • 每次我们设置RemoteViewsService意图时,都要使用不同的意图(额外的不同)(我甚至在每次更新时都创建一个新的Factory)
  • 收听USER_PRESENT广播并从那里更新小部件

仍然从用户那里收到有关该小部件卡住的报告。

编辑;一些代码片段:

public static boolean isHuaweiDevice(){
    return Build.MANUFACTURER.equalsIgnoreCase("huawei");
}

public static void applyHuaweiWorkaroundIfShall(Intent intent){
    if(isHuaweiDevice()){
        intent.putExtra("nonce" + new Random().nextInt(), UUID.randomUUID()); 
    }
}

0 个答案:

没有答案