[英]Android - Clickable Widget - Working on emulator, but not on phone
我試圖在android上創建可點擊的小部件。 我在這個網站上尋找解決方案而且我找到了它,但最后這個小部件只在模擬器上工作 - 而不是在真正的手機上。 這是我的代碼:
的AppWidgetProvider:
public static String WIDGET_BUTTON = "apps.test.widget.WIDGET_BUTTON";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.main);
Intent clickIntent = new Intent(WIDGET_BUTTON);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0,
clickIntent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.imageView1, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, views);
}
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (WIDGET_BUTTON.equals(intent.getAction())) {
Toast.makeText(context, "asdfsdgdasfg", Toast.LENGTH_SHORT).show();
}
}
表現:
<application
android:allowBackup="true"
android:icon="@drawable/image"
android:label="@string/app_name" >
<receiver
android:name=".Widget"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="apps.test.widget.WIDGET_BUTTON"/>
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/test_widget_provider" />
</receiver>
</application>
Toast出現在模擬器上但不在手機上。
好吧,那算了。 我不得不將手機重置為出廠設置。 我不知道出了什么問題。
這是一個常見的問題,如果我的手機有幾次,如果應用程序安裝在SD卡而不是內部存儲器上,小部件不會出現在列表中,您只需轉到設置 - >應用程序 - >找到應用程序然后選擇將其從Android本身移動到內部存儲的選項。
[ http://www.technipages.com/fix-android-app-widgets-not-appearing-on-widget-list][1]還有另一種方法可以在清單中聲明為android:externalstorage(語法不正確)這也有效(我找不到答案的鏈接,我沒有嘗試過)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.