onUpdate()
のメソッド内で現在の widgetId を取得できますAppWidgetProvider
か?
Intent の分野での送信に関する多くの投稿を見つけましappWidgetId
たが、送信する前にどこから取得する必要があるのか わかりません。
構成アクティビティなしで現在のウィジェット ID のみを取得する方法が見つかりませんでした。
onUpdate()
のメソッド内で現在の widgetId を取得できますAppWidgetProvider
か?
Intent の分野での送信に関する多くの投稿を見つけましappWidgetId
たが、送信する前にどこから取得する必要があるのか わかりません。
構成アクティビティなしで現在のウィジェット ID のみを取得する方法が見つかりませんでした。
onUpdateを試してください
int a = appWidgetIds.length;
これが1を返す場合、次のようになります。
int yourAppWidgetId = appWidgetIds[0];
appWidgetIdを返す必要があります。
コードを見ずに正しい答えを出すのは難しいですが、例を挙げましょう。ウィジェットのRemoteViewを作成した場合は、すべてのRemoteViewのインテントを作成する必要があります。このインテントでは、次のようにIDを設定できます。
RemoteViews remoteViews = new RemoteViews(getApplicationContext()
.getPackageName(),
layout.your_widget_layout);
Intent intent1 = new Intent(getApplicationContext(),
YourAppWidgetProvider.class);
intent1.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent1.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,widgetIds);
intent1.putExtra("ID", "one");
次に、PendingIntentを作成します。これは、remoteViewsに設定できます。
PendingIntent pendingIntent = PendingIntent.getBroadcast(
getApplicationContext(), 1, intent1,
PendingIntent.FLAG_ONE_SHOT);
remoteViews.setOnClickPendingIntent(R.id.your_widget_button_id_in_xml,
pendingIntent);
ユーザーがウィジェットを押した場合、onReceive()内でIDを取得できます。
String a = intent.getStringExtra("ID");
しかし、これは不完全な例にすぎず、やるべきことはまだたくさんあります。このチュートリアルを読んだら、それは良い方法だと思います。
http://www.android10.org/index.php/articlesgeneralprogramming/315-app-widgets-tutorial
updateServiceの良い例があります。