मुझे अपने होमस्क्रीन पर एक विजेट मिला जिस पर मैं एक बटन पर क्लिक जोड़ता हूं। मैं किसी सेवा पर विजेट से विजेट आईडी गुजरती हैं, लेकिन जब im सेवा पर WidgetId पढ़ने यह हमेशा है 3.एंड्रॉइड: एक सेवा के लिए AppWidgetId पास करना
विजेट:
public int onStartCommand(Intent intent, int flags, int startId){
if (intent != null && intent.getExtras() != null) {
int widgetId = intent.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID);
// 3 is always printend
System.out.println(widgetId);
// More stuff here
}
return super.onStartCommand(intent, flags, startId);
}
:
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int appWidgetId : appWidgetIds) {
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.widget);
Intent intent = new Intent(context, WidgetService.class);
// prints the correct appWidgetId
System.out.println(appWidgetId);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);
remoteView.setOnClickPendingIntent(R.id.Button01, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, remoteView);
}
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
सेवा इस तरह दिखता है
तो मैं गलत क्या कर रहा हूँ?
महान ढूंढते हैं। मैं थोड़ी देर के लिए इस समस्या को हल करने की कोशिश कर रहा हूं, और इसके साथ-साथ बेस-लाइन उदाहरण में भी। गीज़। बहुत बहुत धन्यवाद! – icecreamman