どのような方法でこのコードを書いていますか? AppWidgetProvider
にはstartActivity()
メソッドがありません。そのためにはContext
が必要です。 AppWidgetProvider
のコールバックメソッドのいくつかはContext
オブジェクトへのアクセスを提供しますが、実際にはあなたが何をするつもりかによって異なります。
AndroidデベロッパーガイドのAppWidgets hereのドキュメントをご覧ください。
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
//Get the views for your widget layout
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.my_widget);
//Create a pending intent for a widget click
Intent intent = new Intent(context, Photos.class);
intent.setAction("PhotosAction");
PendingIntent pendingIntent =
PendintIntent.getBroadcast(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.widget_click_view, pendingIntent);
appWidgetManager.updateAddWidget(appWidgetId, views);
}
}
その後、保留中の意図を受信し、関連する活動を開始するためにあなたのonReceive()メソッドを記述します。
ありがとう!出来た!何らかの理由でHTC Senseでの作業ができませんでしたが、私のエミュレータで動作していたため、Senseで何かが起きるかもしれません。また、代わりにPhotosアプリを起動したかったとしたら、そのシステム定義の意図をどのように把握するのか助けてくれてありがとう – natehoch96
あなたはURIを持っていて、ビューアを起動したいというイメージを表示しようとしていますか?この質問を見てください:[link](http://stackoverflow.com/questions/2954594) /起動 - インテント - アクション - ビュー - インテント - 保存 - イメージ - 保存 - イメージ - ファイル)。異なるメーカーが独自のギャラリーアプリを提供する可能性があるため、あなたは「システム定義の意図」に頼ることができません。 HTC、Samsung .. – Jer