Chr*_*ser 5 android android-appwidget
当添加Widget时,Launcher在Android Lollipop上崩溃,发出以下消息(在以前的Android版本上运行正常):
编辑:这只发生在横向方向.
12-16 12:35:10.208: E/AndroidRuntime(960):
java.lang.RuntimeException: Unable to resume activity {com.android.launcher/com.android.launcher2.Launcher}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=5, result=-1, data=Intent { (has extras) }} to activity {com.android.launcher/com.android.launcher2.Launcher}: java.lang.NullPointerException: Attempt to read from field 'android.content.pm.ActivityInfo
android.appwidget.AppWidgetProviderInfo.providerInfo' on a null object reference
12-16 12:35:10.208: E/AndroidRuntime(960): at
android.appwidget.AppWidgetHostView.getRemoteContext(AppWidgetHostView.java:465)
12-16 12:35:10.208: E/AndroidRuntime(960): at
android.appwidget.AppWidgetHostView.updateAppWidget(AppWidgetHostView.java:376)
12-16 12:35:10.208: E/AndroidRuntime(960): at com.android.launcher2.LauncherAppWidgetHostView.updateAppWidget(LauncherAppWidgetHostView.java:54)
12-16 12:35:10.208: E/AndroidRuntime(960): at android.appwidget.AppWidgetHost.createView(AppWidgetHost.java:325)
12-16 12:35:10.208: E/AndroidRuntime(960): at com.android.launcher2.Launcher.completeTwoStageWidgetDrop(Launcher.java:703)
12-16 12:35:10.208: E/AndroidRuntime(960): at com.android.launcher2.Launcher.onActivityResult(Launcher.java:664)
Run Code Online (Sandbox Code Playgroud)
这是提供商信息:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="201dp"
android:minHeight="201dp"
android:updatePeriodMillis="180000"
android:initialLayout="@layout/appwidget_week"
android:configure="com.example.myApp.Widgets.Configure.WidgetConfigure_Week"
android:resizeMode="horizontal|vertical"
android:previewImage="@drawable/widget_screenshot_week"
android:label="@string/widget_week">
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)
并且清单:
<receiver
android:name="com.example.myApp.Widgets.Provider.WidgetProvider_Week"
android:enabled="@bool/is_above_version_3_1"
android:label="@string/widget_week" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/appwidget_week_provider_info" />
</receiver>
Run Code Online (Sandbox Code Playgroud)
我在 Marshmallow 上也发生过类似的崩溃。当在用于配置主屏幕小部件的活动中更改屏幕方向时,我发生了崩溃(如果方向未更改,则在任一方向上都不会发生)。
只是为了澄清:旋转屏幕时并没有立即发生崩溃。相反,它发生在用户完成配置小部件、退出活动并且 Android 正在创建主屏幕小部件之后。
这也导致了“幻影小部件”(即不出现在屏幕上但存在于 Android 内部的小部件)的创建。
我能够通过在设备旋转时强制小组件配置活动保持纵向模式来解决此问题。正如这里所描述的:
| 归档时间: |
|
| 查看次数: |
815 次 |
| 最近记录: |