小部件在 ICS 中显示“未安装应用程序”Toast

Posted

技术标签:

【中文标题】小部件在 ICS 中显示“未安装应用程序”Toast【英文标题】:Widget shows "App Isn't Installed" Toast in ICS 【发布时间】:2012-06-25 19:59:03 【问题描述】:

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

你知道为什么会这样吗?

谢谢

【问题讨论】:

听起来像小鬼……重启手机试试?确保您允许来自未知来源的应用程序(设置->安全->允许未知来源)并安装您签名的 apk。如果失败,试着用一只脚拍拍你的头,然后用你的鼻子放置小部件:D 重启我会的!我会回来确认是否是这样。 卸载 -> 重启 -> 安装...但结果相同 =[ 【参考方案1】:

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

【讨论】:

【参考方案2】:

我刚刚遇到了这个问题,解决方案是我在这里没有提到的:我更改了用于配置小部件的活动,但忘记在我的 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>

【讨论】:

【参考方案3】:

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

【讨论】:

好。现在工作。但是你现在如何触发配置屏幕?【参考方案4】:

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

【讨论】:

【参考方案5】:

如果它可以帮助其他人解决我的错误 我错误地添加了 android:exported="false" 并且总是使我的配置活动不弹出 导出的必须为真,小部件配置才能正常工作

总之,请确保以下内容 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 中的正确配置活动

【讨论】:

【参考方案6】:

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

【讨论】:

以上是关于小部件在 ICS 中显示“未安装应用程序”Toast的主要内容,如果未能解决你的问题,请参考以下文章

安卓开发问题,页面上只有一个按钮,我要点击按钮显示一个toast,但是点击后没有出现!我在toas

如何在 Flutter 的 ListView 中显示特定小部件的子小部件?

显示当前小部件类之外的小部件

如何在颤动中加载主小部件之前显示加载小部件?

在 KivyMD 中动态隐藏和显示小部件

在多个小部件上显示相同的 QPushButton