13

我通过 Eclipse 创建了一个可以在我的 Galaxy Nexus 上正常工作的小部件,但是当我创建一个签名的 apk,从手机上卸载调试版本,然后安装新的 apk 并尝试将它放在主屏幕上时,我得到以下 Toast消息:“未安装应用程序”。

任何想法为什么会发生这种情况?

谢谢

4

6 回答 6

35

实际上,我刚刚发现出了什么问题。我正在基于相同的代码制作几个小部件,并且在构建之前我重构并更改了包名称。我错过了更新 appwidget-provider xml 中的“android:configure”字段,所以这导致配置活动“找不到”。

于 2012-06-26T02:02:49.367 回答
27

我刚刚遇到了这个问题,解决方案是我在这里没有提到的:我更改了用于配置小部件的活动,但忘记为它添加一个意图过滤器到我的 AndroidManifest.xml。

<activity android:name="com.mypackage.ConfigureWidget" 
          android:label="@string/configureWidget">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
    </intent-filter>
</activity>
于 2012-09-07T22:31:23.223 回答
9

同样的问题也出现在我的应用程序中。我所做的是我只是从 appwidget-provider xml 中删除了“android:configure”字段,它开始继续正常工作。

于 2012-10-08T06:03:58.967 回答
1

检查您是否在清单中提供了“maxSdkVersion”参数..这可能会给您特定设备的错误...最好改为提供 targetSdkVersion....

于 2012-06-25T10:28:11.930 回答
0

如果它对我的错误有帮助,我错误
地添加了 android:exported="false" 并且总是让我的配置活动不弹出
,导出的必须是 true 才能使小部件配置工作

总之,请确保以下
1) 活动 android:name 确实指向正确的包名,尤其是您使用“.widget.xxxxxActivity”(注意句号)
2) android:exported="true"
3)您的配置活动如下

  <intent-filter>
    <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
  </intent-filter>

4) 在您的 appwidget-provider 中,确保 android:configure="您在步骤 1 中的正确配置活动

于 2014-04-27T08:55:43.707 回答
0

我遇到了同样的问题,感谢https://stackoverflow.com/a/11187572/3763837我可以解决这个问题。默认情况下它是 21,我改为 19。现在应用程序运行良好。 <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" />

于 2014-09-01T04:57:05.223 回答