android.appwidget.AppWidgetManager.getAppWidgetInfo()方法的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(10.3k)|赞(0)|评价(0)|浏览(129)

本文整理了Java中android.appwidget.AppWidgetManager.getAppWidgetInfo()方法的一些代码示例,展示了AppWidgetManager.getAppWidgetInfo()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AppWidgetManager.getAppWidgetInfo()方法的具体详情如下:
包路径:android.appwidget.AppWidgetManager
类名称:AppWidgetManager
方法名:getAppWidgetInfo

AppWidgetManager.getAppWidgetInfo介绍

暂无

代码示例

代码示例来源:origin: robolectric/robolectric

@Test
public void getAppWidgetInfo_shouldReturnSpecifiedAppWidgetInfo() throws Exception {
 AppWidgetProviderInfo expectedWidgetInfo = new AppWidgetProviderInfo();
 shadowAppWidgetManager.addBoundWidget(26, expectedWidgetInfo);
 assertEquals(expectedWidgetInfo, appWidgetManager.getAppWidgetInfo(26));
 assertEquals(null, appWidgetManager.getAppWidgetInfo(27));
}

代码示例来源:origin: robolectric/robolectric

@Test
public void bindAppWidgetId_shouldRecordAppWidgetInfo() throws Exception {
 ComponentName provider = new ComponentName("abc", "123");
 AppWidgetProviderInfo providerInfo = new AppWidgetProviderInfo();
 providerInfo.provider = provider;
 shadowAppWidgetManager.addInstalledProvider(providerInfo);
 appWidgetManager.bindAppWidgetIdIfAllowed(90210, provider);
 assertSame(providerInfo, appWidgetManager.getAppWidgetInfo(90210));
}

代码示例来源:origin: Neamar/KISS

/**
   * Check if widget needs configuration and display configuration view if necessary,
   * otherwise just add the widget
   *
   * @param data Intent holding widget id to configure
   */
  private void configureAppWidget(Intent data) {
    int appWidgetId = data.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);

    AppWidgetProviderInfo appWidget =
        mAppWidgetManager.getAppWidgetInfo(appWidgetId);

    if (appWidget.configure != null) {
      // Launch over to configure widget, if needed.
      Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_CONFIGURE);
      intent.setComponent(appWidget.configure);
      intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
      mainActivity.startActivityForResult(intent, REQUEST_CREATE_APPWIDGET);
    } else {
      // Otherwise, finish adding the widget.
      addAppWidget(data);
    }
  }
}

代码示例来源:origin: Neamar/KISS

/**
 * Adds a widget to the widget area on the MainActivity
 *
 * @param appWidgetId id of widget to add
 */
private void addWidgetToLauncher(int appWidgetId) {
  // only add widgets if in minimal mode (may need launcher restart when turned on)
  if (prefs.getBoolean("history-hide", true)) {
    // remove empty list view when using widgets, this would block touches on the widget
    mainActivity.emptyListView.setVisibility(View.GONE);
    //add widget to view
    AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
    if (appWidgetInfo == null) {
      removeAllWidgets();
      return;
    }
    AppWidgetHostView hostView = mAppWidgetHost.createView(mainActivity, appWidgetId, appWidgetInfo);
    hostView.setMinimumHeight(appWidgetInfo.minHeight);
    hostView.setAppWidget(appWidgetId, appWidgetInfo);
    if (Build.VERSION.SDK_INT > 15) {
      hostView.updateAppWidgetSize(null, appWidgetInfo.minWidth, appWidgetInfo.minHeight, appWidgetInfo.minWidth, appWidgetInfo.minHeight);
    }
    widgetArea.addView(hostView);
  }
  // only one widget allowed so widgetUsed is true now, even if not added to view
  widgetUsed = true;
}

代码示例来源:origin: quaap/LaunchTime

public ComponentName getConfigure(int appWidgetId) {
  AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
  if (appWidgetInfo==null) return null;
  return appWidgetInfo.configure;
}

代码示例来源:origin: fookwood/Launcher3

public AppWidgetProviderInfo getAppWidgetInfo(int appWidgetId) {
  return mAppWidgetManager.getAppWidgetInfo(appWidgetId);
}

代码示例来源:origin: klinker24/launcher3

public AppWidgetProviderInfo getAppWidgetInfo(int appWidgetId) {
  return mAppWidgetManager.getAppWidgetInfo(appWidgetId);
}

代码示例来源:origin: klinker24/Android-Blur-Launcher

public AppWidgetProviderInfo getAppWidgetInfo(int appWidgetId) {
  return mAppWidgetManager.getAppWidgetInfo(appWidgetId);
}

代码示例来源:origin: enricocid/LaunchEnr

public AppWidgetProviderInfo getAppWidgetInfo(int appWidgetId) {
  return mAppWidgetManager.getAppWidgetInfo(appWidgetId);
}

代码示例来源:origin: WeAreFairphone/FP2-Launcher

public AppWidgetProviderInfo getAppWidgetInfo(int appWidgetId) {
  return mAppWidgetManager.getAppWidgetInfo(appWidgetId);
}

代码示例来源:origin: quaap/LaunchTime

public ComponentName getComponentNameFromIntent(Intent data) {
  if (data!=null) {
    int appWidgetId = getAppWidgetIdFromIntent(data);
    if (appWidgetId != -1) {
      AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
      if (appWidgetInfo != null) {
        return appWidgetInfo.provider;
      }
    }
  }
  return null;
}

代码示例来源:origin: quaap/LaunchTime

public AppWidgetHostView configureWidget(Activity parent, int appWidgetId){
  AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
  if (appWidgetInfo!=null) {
    if (appWidgetInfo.configure != null) {
      // If the widget wants to be configured then start its configuration activity
      Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_CONFIGURE);
      intent.setComponent(appWidgetInfo.configure);
      intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
      parent.startActivityForResult(intent, REQUEST_CREATE_APPWIDGET);
    } else {
      // Otherwise simply create it
      return createWidgetFromId(appWidgetId);
    }
  }
  return null;
}

代码示例来源:origin: powerpoint45/BasicLauncher

private void configureWidget(Intent data) {
  Bundle extras = data.getExtras();
  int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
  AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
  if (appWidgetInfo.configure != null) {
    Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_CONFIGURE);
    intent.setComponent(appWidgetInfo.configure);
    intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
    startActivityForResult(intent, REQUEST_CREATE_APPWIDGET);
  } else {
    createWidget(data);
  }
}

代码示例来源:origin: quaap/LaunchTime

public Widget(Context context) {
  mContext = context;
  mPrefs = context.getSharedPreferences("widgets", Context.MODE_PRIVATE);
  setupHost(context);
  //mAppWidgetHost.deleteHost();
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    for (int oid: mAppWidgetHost.getAppWidgetIds()) {
      AppWidgetProviderInfo provider = mAppWidgetManager.getAppWidgetInfo(oid);
      if (provider==null) continue;
      Log.d(TAG, "Widget is allocated: " + provider.provider);
    }
  }
}

代码示例来源:origin: quaap/LaunchTime

public void updateWidgetId(int oldId, int newId) {
  AppWidgetProviderInfo provider = mAppWidgetManager.getAppWidgetInfo(newId);
  AppWidgetHostView w = mLoadedWidgets.get(provider.provider);
  if (w!=null) {
    w.setAppWidget(newId, provider);
  }
  saveWidgetId(provider.provider, newId);
  mAppWidgetHost.deleteAppWidgetId(oldId);
}

代码示例来源:origin: quaap/LaunchTime

public AppWidgetHostView onActivityResult(Activity parent, int requestCode, int resultCode, Intent data) {
  Log.d(TAG, "onActivityResult: requestCode=" + requestCode + " resultCode=" + resultCode);
  // listen for widget manager response
  if (resultCode == Activity.RESULT_OK) {
    if (requestCode == REQUEST_PICK_APPWIDGET) {
      Log.d(TAG, "configureWidget");
      return configureWidget(parent, data);
    } else if (requestCode == REQUEST_CREATE_APPWIDGET || requestCode == REQUEST_BIND_APPWIDGET) {
      Log.d(TAG, "createWidget");
      return createWidget(data);
    } else {
      Log.d(TAG, "unknown RESULT_OK");
    }
  } else if (resultCode == Activity.RESULT_CANCELED) {
    Log.d(TAG, "RESULT_CANCELED");
    if (data!=null) {
      int appWidgetId = getAppWidgetIdFromIntent(data);
      AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
      if (appWidgetId != -1) {
        if (appWidgetInfo==null || getWidgetId(appWidgetInfo.provider)==-1) {
          mAppWidgetHost.deleteAppWidgetId(appWidgetId);
        }
      }
    }
  }
  return null;
}

代码示例来源:origin: quaap/LaunchTime

private AppWidgetHostView createWidgetFromId(int widget_id) {
  AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(widget_id);
  if (appWidgetInfo==null) {
    return null;
  }
  // if (checkBindPermission(widget_id, appWidgetInfo.provider)) return null;
  AppWidgetHostView hostView = getLoadedAppWidgetHostView(appWidgetInfo.provider);
  if (hostView==null || hostView.getAppWidgetId()!=widget_id) {
    // Create the host view
    hostView = mAppWidgetHost.createView(mContext, widget_id, appWidgetInfo);
    hostView.setAppWidget(widget_id, appWidgetInfo);
  }
  return hostView;
}

代码示例来源:origin: dsolonenko/financisto

private static void updateWidgets(Context context, AppWidgetManager manager, int[] appWidgetIds, boolean nextAccount) {
  Log.d("Financisto", "updateWidgets " + Arrays.toString(appWidgetIds) + " -> " + nextAccount);
  for (int id : appWidgetIds) {
    AppWidgetProviderInfo appWidgetInfo = manager.getAppWidgetInfo(id);
    if (appWidgetInfo != null) {
      int layoutId = appWidgetInfo.initialLayout;
      if (MyPreferences.isWidgetEnabled(context)) {
        long accountId = loadAccountForWidget(context, id);
        Class providerClass = getProviderClass(appWidgetInfo);
        Log.d("Financisto", "using provider " + providerClass);
        RemoteViews remoteViews = nextAccount || accountId == -1
            ? buildUpdateForNextAccount(context, id, layoutId, providerClass, accountId)
            : buildUpdateForCurrentAccount(context, id, layoutId, providerClass, accountId);
        manager.updateAppWidget(id, remoteViews);
      } else {
        manager.updateAppWidget(id, noDataUpdate(context, layoutId));
      }
    }
  }
}

代码示例来源:origin: powerpoint45/BasicLauncher

public void createWidget(Intent data) {
  Bundle extras = data.getExtras();
  int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
  AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
  LauncherAppWidgetHostView hostView = (LauncherAppWidgetHostView) mAppWidgetHost.createView(this, appWidgetId, appWidgetInfo);
  hostView.setAppWidget(appWidgetId, appWidgetInfo);
  
  RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(homeView.getWidth()/3, homeView.getHeight()/3);
  lp.leftMargin = numWidgets * (homeView.getWidth()/3);
  
  hostView.setOnLongClickListener(new OnLongClickListener() {
    
    @Override
    public boolean onLongClick(View v) {
      System.out.println("LONG PRESSED WIDGET");
      v.setBackgroundColor(Color.RED);
      return false;
    }
  });
  
  homeView.addView(hostView,lp);
  slidingDrawer.bringToFront();
  numWidgets ++;
}

代码示例来源:origin: clemensbartz/essential-launcher

/**
 * Add a host view to the frame layout for a widget id.
 * @param appWidgetId the widget id
 */
public void addHostView(final int appWidgetId) {
  frWidget.removeAllViews();
  if (hasAppWidgets(this)) {
    final AppWidgetProviderInfo appWidgetInfo = appWidgetManager.getAppWidgetInfo(appWidgetId);
    if (appWidgetInfo != null) {
      final AppWidgetHostView hostView = appWidgetHost.createView(this, appWidgetId, appWidgetInfo);
      hostView.setAppWidget(appWidgetId, appWidgetInfo);
      frWidget.addView(hostView);
      frWidget.requestLayout();
      final Bundle options = BundleUtil.getWidgetOptionsBundle(frWidget.getMeasuredWidth(), frWidget.getMeasuredHeight(), frWidget.getMeasuredWidth(), frWidget.getMeasuredHeight());
      hostView.updateAppWidgetOptions(options);
    } else {
      model.setAppWidgetId(-1);
    }
  }
}

相关文章