【发布时间】:2011-05-02 03:26:10
【问题描述】:
我有一个现有的 Android 应用程序。 我使用以下代码向它添加了一个简单的小部件:
- 使用
<receiver>块更新了我的清单,该块提供了有关我的AppWidgetProvider实现的信息 - 在 res/xml 中添加了一个带有
<appwidget-provider>元素的新 xml 文件,该元素包含 height/width/updatePeriod/initialLayout/icon/label 属性 - 添加了一个简单的默认布局,带有
ImageView和TextView - 实现了我的
AppWidgetProvider
当我构建并将其部署到模拟器时,我的小部件不会显示在小部件列表中。我错过了一些“安装”小部件的步骤吗?我需要做一些特别的事情才能让它出现在模拟器中吗?
编辑: 这是我的清单接收器的样子:
<receiver android:name=".MyAppWidgetProvider"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/my_appwidget_info" />
</receiver>
这是我的 my_appwidget_info.xml 的样子:
<?xml version="1.0" encoding="UTF-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:icon="@drawable/ic_logo"
android:label="MySampleApp"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/my_app_widget" >
</appwidget-provider>
【问题讨论】:
-
它可以在实际设备上使用吗?
-
不知道。我仍在等待设备出现。
-
您没有将应用程序安装到您的(虚拟)SD 卡上?清单中的安装位置是什么?
-
android:installLocation="auto"我尝试了带和不带 SD 卡的模拟器。关于如何调试这样的东西的任何想法? -
您可以转到主屏幕中的设置,转到应用程序,然后转到您的应用程序。如果它为您提供“移动到手机”,那么它在 SD 卡上。您可以将安装位置设置为 internalOnly 以防止它进入 SD 卡。
标签: android android-emulator android-widget