我的簡單窗口小部件應用程序在作爲調試應用程序簽名時安裝並完美工作,但只要我嘗試爲市場準備就緒,就會遇到奇怪的行爲:它不會顯示在窗口小部件列表中,直到我卸載應用程序,當它顯示爲標準Android'我沒有這個'機器人圖標。Android小部件只顯示調試;應用程序圖標始終顯示
試圖將此「缺失」小部件拖到屏幕上會導致啓動器崩潰。
爲了研究這一點,我將一個MAIN/LAUNCH意圖添加到其中一個活動中,並且在安裝時按預期顯示並在卸載時消失。
什麼是超級令人毛骨悚然的是,如果我重新安裝,而啓動器顯示'我沒有這個'機器人圖標,我的小部件簡要替換該圖標,然後從列表中消失。
我在日誌中看不到任何錯誤消息或發出的意圖,超出了正常的'我解除/安裝這個'。
有沒有什麼愚蠢和明顯的我失蹤了,就像'已簽名的應用程序必須特別註冊他們的小部件',這在調試模式下是不需要的?
我這裏還有我的清單和部件屬性:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
package="uk.org.baverstock.appghoul">
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="9"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name="uk.org.baverstock.appghoul.AppGhoulWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidget_provider"/>
</receiver>
<activity android:name=".Configure"
android:excludeFromRecents="true"
>
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
</intent-filter>
<intent-filter>
<!-- Why does this show up, when the widget doesn't? -->
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".ControlsChoiceActivity"
android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true"
/>
<activity android:name=".ReconfigureWidget"
android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true"
/>
<receiver
android:name=".WidgetRescanner"
android:label="WidgetRescanner"
>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_CHANGED"/>
<action android:name="android.intent.action.PACKAGE_REPLACED"/>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
</application>
</manifest>
和微件屬性:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="72dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/widget"
android:configure="uk.org.baverstock.appghoul.Configure"
android:previewImage="@drawable/icon"
android:widgetCategory="home_screen">
<!--
android:resizeMode="horizontal|vertical"
android:initialKeyguardLayout="@layout/example_keyguard"
-->
</appwidget-provider>