Этот оператор журнала находится в методе onUpdate виджета и будет вызываться только при первоначальном создании виджета и в период его обновления.Чтобы заставить его войти в клик, вы можете сделать одну из двух вещей.
A.поместите оператор журнала в метод onCreate ExampleActivity
B.измените ожидающее намерение обновить AppWidgetProvider с флагом, затем перезаписать метод onReceive, чтобы сделать запись журнала, и затем запустить ExampleActivity, если флаг присутствует.Например:
Intent intent = new Intent(context, ExampleAppWidgetProvider.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent.putExtra(SOME_FINAL_STRING, true);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
Затем в методе onReceive:
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Bundle extras = intent.getExtras();
if(AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action) && extras != null && extras.getBoolean(SOME_FINAL_STRING) == true){
Log.d("myButton","Should no longer be called once!");
Intent newIntent = new Intent(context, ExampleActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(newIntent);
} else {
super.onReceive(context, intent);
}
}