Update add-ons in intent in Widget app on Android

My code is:

@Override
 public void onUpdate(Context context, AppWidgetManager appWidgetManager,
   int[] appWidgetIds) {
  Intent active = new Intent(context, DialerWidget.class);
  active.setAction(ACTION_WIDGET_RECEIVER);
  active.putExtra("com.anirudha.android.appwidget.Number", currentNumber);
  PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context,
    0, active, 0);
  views.setOnClickPendingIntent(R.id.one,
    actionPendingIntent);
  views.setTextViewText(R.id.number, currentNumber);
  appWidgetManager.updateAppWidget(appWidgetIds, views);
 }

        @Override
        public void onReceive(Context context, Intent intent) {
  if (intent.getAction().equals(ACTION_WIDGET_RECEIVER)) {
   currentNumber = intent.getStringExtra("Number");
   currentNumber += "1";  
   Intent active = new Intent(context, DialerWidget.class);
   active.setAction(ACTION_WIDGET_RECEIVER);
   active.putExtra("com.anirudha.android.appwidget.Number", CurrentNumber);
   active.putExtra("com.anirudha.android.appwidget.Key", "1");
   PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context,
      0, active, 0);
   views.setOnClickPendingIntent(R.id.one,
      actionPendingIntent);

   views.setTextViewText(R.id.number, currentNumber);
   ComponentName cn = new ComponentName(context.getPackageName(),
      DialerWidget.class.getName());
   AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
   appWidgetManager.updateAppWidget(cn, views);

   Toast.makeText(context, currentNumber, Toast.LENGTH_SHORT).show();   
  }
   super.onReceive(context, intent);
 }

So basically I want to change the extra features that I have to get with Intent. But whenever the button is pressed, I get the same value with Intent. I am new to Android development. Any help would be greatly appreciated. Thanks

+3
source share
2 answers

If you want to update an existing pending intent, you must use the FLAG_UPDATE_CURRENT flag when creating it.

PendingIntent actionPendingIntent = 
     PendingIntent.getBroadcast(context, 0, active, PendingIntent.FLAG_UPDATE_CURRENT);
+1
source

currentNumber? , , int. int, . , , 0, 1, 1.

"com.anirudha.android.appwidget.Number", "Number". .

: getIntExtra()

0

Source: https://habr.com/ru/post/1780402/


All Articles