1

ウィジェットとAndroidアプリケーションの1つを組み合わせたい。

それは可能ですか?

私の計画では、ユーザーがAndroidウィジェットを開くと、ウィジェットはAndroidアプリケーションを直接開きますか?

方法はありますか?

ここで、ウィジェットクラスからいくつかのメソッドを作成しました。

public class ExampleAppWidgetProvider extends AppWidgetProvider {

public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int i = 0; i < appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];

Intent intent = startActivity(new Intent("com.xxx.yyy.widget.FlamingoActivity"));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, 0);

RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget1);

views.setOnClickPendingIntent(R.id.Image, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}

2番目のアプリであるFlamingoActivityを呼び出そうとしましたが、失敗しました。.:(

完全な解決策ではありません:

この行を変更する必要があります

Intent intent = startActivity(new Intent("com.xxx.yyy.widget.FlamingoActivity"));

これに:

Intent intent = new Intent(context, FlamingoActivity.class);
4

2 に答える 2

0

ウィジェットに onClickpendingIntent を設定する必要があります

   Intent intent = new Intent(context, ExampleActivity.class);
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
    // Get the layout for the App Widget and attach an on-click listener to the button
     RemoteViews views = new 
                 RemoteViews(context.getPackageName(),R.layout.appwidget_provider_layout);
      views.setOnClickPendingIntent(R.id.button, pendingIntent);

また、この質問を参照してくださいウィジェットからアクティビティを起動する

于 2012-12-18T05:38:37.883 に答える
0

呼び出そうとしているアクティビティは、そのアプリのマニフェストで公開 (エクスポート) する必要があります。ウィジェットからアクティビティを開始することについて特別なことはありませんが、 を使用しPendingIntentてウィジェットをアプリの一部として機能させることができます (ランチャー アプリ内で実行されます)。

于 2012-12-18T05:34:52.997 に答える