1

ウィジェットを含む Android アプリケーションに取り組んでいます。

ウィジェットの主なタスク (ユーザーがクリックした後) はUpdateWidgetActivity、サーバーからデータを収集してウィジェット ビューを更新するアクティビティ ( ) を開始することです。

このアクティビティは他のビューを表示しないため、ユーザー (ウィジェットをクリックした後) は引き続きホーム画面にとどまる必要があります。

問題は次のとおりです。

  • ユーザー起動アプリ (アイコンをクリックして) (アクティビティ A など)
  • 彼はホームボタンを押します>
  • 彼はウィジェットをクリックします
  • ウィジェットは実行されますUpdateWidgetActivityが、アクティビティ A も再起動され、ユーザーに表示されます (これは望ましくありません)。

私の質問は

まったく別のアクティビティを実行するために、ユーザーがウィジェットをクリックしたときにアプリのアクティビティ (アクティビティ A) が再開されるのを防ぐにはどうすればよいですか?

ここで同様のトピックをたくさん見てきましたが、そこで提案された解決策が私のアプリでは機能しません。

Widget ProvideronUpdate()メソッドのコードは次のとおりです。

{       
for (int appWidgetId : appWidgetIds) {
        
        Intent intent = new Intent(context, WidgetUpdateActivity.class);
        intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
        
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);

        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
        
        views.setOnClickPendingIntent(R.id.widget_view, pendingIntent);
        
        appWidgetManager.updateAppWidget(appWidgetId, views);
    }
    }
}

私はここにいるのは初めてで、実際にはAndroidの基本的な知識しか持っていないので、間違いや不正確さをお詫びします.

4

0 に答える 0