Android小工具没有出现在名单上发展起来的后(Android widget not showin

2019-08-21 20:15发布

我升级我的应用程序部件。 这不是第一小我所做的一切。 我总是遇到奇怪的问题,但小部件最终名单上shwoing起来。

以下是我迄今所做的:

  • 创建widget_layout.xml
  • 创建widget_info.xml
 <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="110dp" android:minHeight="30dp" android:updatePeriodMillis="86400000" android:initialLayout="@layout/widget_layout" android:resizeMode="none"> </appwidget-provider> 
  • 创建WidgetProvider类
  • 小部件添加在体现<application>部分(因为某些原因不能在这里贴上清单片段,它只是没有显示,请参阅该代码在这里 )

尽管如此,找不到小部件列表控件。 我调试真实设备的应用程序。 我使用的库项目,但小部件文件,但所有的项目,我直接运行。 什么可能会发生在这里?

Answer 1:

跑过类似的问题,这是发生了什么事我。 直到加入minResizeHeight在窗口小部件抽屉下面的Widget一直没有露面。 奇怪,但可能是需要可调整大小的小部件。 本来是更友好。

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/pmt_schedule_scroll_widget"
android:minHeight="146dip"
android:minResizeHeight="73dp"
android:minWidth="146dip"
android:resizeMode="vertical"
android:updatePeriodMillis="0" />


Answer 2:

这种问题可以通过2种情况发生。 两者都是上述回答,这是一个完整的答案和我都面临着这两种方案,并解决了他们两个。

Scenario1

如果应用程序指定的android:清单中的installLocation =“preferExternal”参数,应用程序将被安装在外部存储器,它不会在小部件列表中显示。 此外,如果你取得了你的手机安装SD卡上所有的应用程序,这也将发生。

进入设置 - > Apps-> YourApp然后“移动电话”。 这将在应用移动到您的手机内存,现在你可以看到小部件的窗口小部件列表

Scenario2

如果上述修正没有解决您的问题,那么你可能有与Android版本4.XX的设备。

然后,你必须设置在widget_info.xml文件中至少有以下参数

溶液2

机器人:=了minHeight “XXXdp” 机器人:minWidth = “XXXdp”



Answer 3:

问题是android:installLocation="preferExternal"

如果应用程序安装在SD它在某种程度上会导致问题窗列表



Answer 4:

我想尽一切可能的解决方案并没有为我工作......最后我解决它。

在我的情况下,问题是得太多:我认为,在元数据标签,我们需要定义提供商唯一的名称(如:“com.example.myprovider”),以及链接到XML资源。

错误:

<meta-data
      android:name="com.example.myprovider"
      android:resource="@xml/widget_info" />

对:

<meta-data
  android:name="android.appwidget.provider"
  android:resource="@xml/widget_info" />


Answer 5:

您需要在清单文件中注册一个BroadcastReceiver。 例如:

<receiver
   android:icon="@drawable/icon"
   android:label="Example Widget"
   android:name="MyWidgetProvider" >
   <intent-filter >
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
   </intent-filter>

   <meta-data
      android:name="android.appwidget.provider"
      android:resource="@xml/widget_info" />
</receiver> 

我借这个代码http://www.vogella.com/articles/AndroidWidgets/article.html

查看链接以全教程



Answer 6:

搜索并未能解决了几个小时之后,我决定打开工作的小工具的样本项目,去逐项比较项目,看看有什么是错的,到最后,我解决增加了以下线在我的RES / XML / widget_info .XML:

android:minHeight="XXXdp"
android:minResizeHeight="XXXdp"
android:minResizeWidth="XXXdp"
android:minWidth="XXXdp"

其中XXX为一定的价值。



Answer 7:

就我而言,这个问题是在接收机中的意图过滤器。

错误:

<intent-filter>
    <action android:name="APPWIDGET_UPDATE" />
</intent-filter>

正确:

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


文章来源: Android widget not showing up on the list after developed