Сбой запуска программы LG при вызове requestPinAppWidget (ClassCastException) com.lge.launcher3 - PullRequest
0 голосов
/ 24 сентября 2019

После вызова appWidgetManager.requestPinAppWidgetin () на устройствах с LG laucnher (com.lge.launcher3) происходит сбой этого лаучера с RuntimeException.

Logcat:

E /AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.lge.launcher3, PID: 6111 java.lang.RuntimeException: невозможно запустить действие ComponentInfo {com.lge.launcher3 / com.android.launcher3.dragndrop.AddItemActivity}: java.lang.ClassCastException: android.app.ContextImpl нельзя преобразовать в com.android.launcher3.Launcher в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2858) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java: 2933) на android.app.ActivityThread.-wrap11 (неизвестный источник: 0) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1612) на android.os.Handler.dispatchMessage (Handler.java:105)) на android.os.Looper.loop (Looper.java:164) на android.app.ActivityThread.main (ActivityThread.java:6710) на java.lang.reflect.Method.invoke (NaМетод tive) на com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:770). Причина: java.lang.ClassCastException: android.app.ContextImpl нельзя преобразовать в com.android.launcher3.Launcher в com.android.launcher3.Launcher.getLauncher (Launcher.java:6285) в com.android.launcher3.dragndrop.AddItemActivity.setupWidget (AddItemActivity.java:228) в com.android.launcher3.dragndrop.AddItemActivity.onCreate (AddItemActivity.java:113) в android.app.Activity.performCreate (Activity.java:6982) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1214) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2811) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2933) в android.app.ActivityThread.-wrap11 (неизвестно).Источник: 0) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1612) на android.os.Handler.dispatchMessage (Handler.java:105) наdroid.os.Looper.loop (Looper.java:164) на android.app.ActivityThread.main (ActivityThread.java:6710) на java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:770)

private boolean tryAddingWidget(AppWidgetManager appWidgetManager, ComponentName myProvider) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
            && appWidgetManager != null
            && appWidgetManager.isRequestPinAppWidgetSupported()) {
        try {
            return appWidgetManager.requestPinAppWidget(myProvider, null, null);
        } catch (IllegalStateException ex) {
            return false;
        }
    }
    return false;
}
...