Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android intent.getIntExtra(AppWidgetManager.EXTRA\u APPWIDGET\u ID,AppWidgetManager.INVALID\u APPWIDGET\u ID);_Android_Android Widget_Widget_Appwidgetprovider - Fatal编程技术网

Android intent.getIntExtra(AppWidgetManager.EXTRA\u APPWIDGET\u ID,AppWidgetManager.INVALID\u APPWIDGET\u ID);

Android intent.getIntExtra(AppWidgetManager.EXTRA\u APPWIDGET\u ID,AppWidgetManager.INVALID\u APPWIDGET\u ID);,android,android-widget,widget,appwidgetprovider,Android,Android Widget,Widget,Appwidgetprovider,我无法在onReceive中获取已单击小部件的id。始终返回0。这是我的密码: @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(WIDGET_BUTTON)) { int widgetId = intent.getIntExtra( AppWidgetManager.EXTRA_APPWIDGET_ID,

我无法在onReceive中获取已单击小部件的id。始终返回0。这是我的密码:

@Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals(WIDGET_BUTTON)) {
            int widgetId = intent.getIntExtra( AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); 

            log("WID ID" + widgetId);
我从Android开发者文档中获取代码,我不知道为什么它不起作用

答案是:

我想念:

AppWidgetManager mgr = AppWidgetManager.getInstance(context);
我的代码是这样的:

@Override
public void onReceive(Context context, Intent intent) {

    AppWidgetManager mgr = AppWidgetManager.getInstance(context);
    RemoteViews views = new RemoteViews(context.getPackageName(),
            R.layout.widget_main);




    if (intent.getAction().equals(WIDGET_BUTTON)) {
        Bundle extras = intent.getExtras();     
        int widgetId = 0;

        if (extras != null && extras.containsKey(AppWidgetManager.EXTRA_APPWIDGET_ID)) 
            widgetId = intent.getIntExtra(mgr.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); 
            log("1 - WID ID" + widgetId);
表示INVALID_APPWIDGET_ID==0,因此您收到的意图没有额外的_APPWIDGET_ID

您在创建意图时是否添加了额外的内容