اینطوری یه مقدار میفرستم به متد onReceive ولی وقتی تمام محتوای intent دریافتی رو log میکنم فقط یدونه id ویجت چاپ میشه ،
Intent update = new Intent(context, Widget.class);
update.setAction(WidgetConstants.ACTION_UPDATE);
update.putExtra(AppWidgetManager.EXTRA_APPWIDGET_I D, appWidgetId);
if (sp.getBoolean(WidgetConstants.START_COUNTER, false)) {
update.putExtra("launch", 1);
// inja ro ham to log neghah kardam , varede shart ham mishe
}
PendingIntent pi = PendingIntent.getBroadcast(context, appWidgetId, update, 0);
rv.setOnClickPendingIntent(R.id.img_widget, pi);
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
Bundle bundle = intent.getExtras();
if (bundle != null) {
for (String key : bundle.keySet()) {
Object value = bundle.get(key);
Log.d("tag", String.format("%s %s (%s)", key, value.toString(),
value.getClass().getName()));
}
}
int appWidgetId = intent.getIntExtra(
AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
if (intent.getAction().equals(WidgetConstants.ACTION_ UPDATE)) {
AppWidgetManager.getInstance(context).updateAppWid get(appWidgetId,
buildUpdate(context, appWidgetId));
}
if (intent.getIntExtra("launch", 0) == 1) {
Intent launch = new Intent(context, Activity_Main.class);
PendingIntent pi = PendingIntent.getActivity(context, appWidgetId,
launch, 0);
try {
pi.send();
} catch (CanceledException e) {
e.printStackTrace();
}
}
}
اشکال کار کجاست به نظرتون؟