サービスによって管理される Android ウィジェットがあります。onStartCommand
私は:
for (int widgetId : allWidgetIds) {
RemoteViews remoteViews = new RemoteViews(this
.getApplicationContext().getPackageName(),
R.layout.main);
// Register an onClickListener
Intent clickIntent = CreateWifiSettingsIntent(this.getApplicationContext());
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, clickIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setOnClickPendingIntent(R.id.widget_textview, pendingIntent);
appWidgetManager.updateAppWidget(widgetId, remoteViews);
Log.i(LOG, "onClickListener Registered");
}
CreateWifiSettingsIntent
PendingIntent を構築するだけです:
public Intent CreateWifiSettingsIntent(Context context) {
final Intent intent = new Intent(Intent.ACTION_MAIN, null);
final ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.wifi.WifiSettings");
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(cn);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
/* this Log will be called whenever the intent is created */
Log.i(LOG, "Intent created: com.android.settings.wifi.WifiSettings");
return intent;
}
私がやりたいことはLog.i()
、ユーザーがボタンを押すたびに実行される呼び出しを追加することです。これをここに追加する方法はありますか?