小工具在ICS中显示“App未安装”Toast

时间:2012-06-24 02:14:06

标签: android android-widget

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

为什么会发生这种情况?

由于

6 个答案:

答案 0 :(得分:35)

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

答案 1 :(得分:26)

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

<activity android:name="com.mypackage.ConfigureWidget" 
          android:label="@string/configureWidget">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
    </intent-filter>
</activity>

答案 2 :(得分:8)

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

答案 3 :(得分:1)

检查你的清单中是否有'maxSdkVersion'参数。这可能会给你一个特定设备的错误...更好地给targetSdkVersion ....

答案 4 :(得分: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中的正确配置活动

答案 5 :(得分:0)

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