android.appwidget.AppWidgetManager#getAppWidgetIds ( )源码实例Demo

下面列出了android.appwidget.AppWidgetManager#getAppWidgetIds ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: DongWeather   文件: WidgetProvider.java
@Override
public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);
    Log.d(TAG, "onReceive: ");
    if (TextUtils.equals(SKIP_COUNTY_WEATHER, intent.getAction())) {
        Bundle extras = intent.getExtras();
        int position = extras.getInt(ListViewService.INITENT_DATA);
        Log.d(TAG, "onReceive: position : " + position);
        Intent skipIntent = new Intent(context, WeatherActivity.class);
        skipIntent.putExtra("skipPosition", position);
        skipIntent.addFlags(FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(skipIntent);
        //AppWidgetManager.getInstance(context).updateAppWidget(mComponentName, mRemoteViews);
    }
    if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(intent.getAction())) {
        AppWidgetManager manager = AppWidgetManager.getInstance(context);
        int[] appWidgetId = manager.getAppWidgetIds(new ComponentName(context, WidgetProvider.class));
        if (appWidgetId.length > 0) {
            manager.notifyAppWidgetViewDataChanged(appWidgetId[0], R.id.widget_listview);
        }
    }
}
 
源代码2 项目: codeexamples-android   文件: MyWidgetProvider.java
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
		int[] appWidgetIds) {

	Log.w(LOG, "onUpdate method called");
	// Get all ids
	ComponentName thisWidget = new ComponentName(context,
			MyWidgetProvider.class);
	int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);

	// Build the intent to call the service
	Intent intent = new Intent(context.getApplicationContext(),
			UpdateWidgetService.class);
	intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, allWidgetIds);

	// Update the widgets via the service
	context.startService(intent);
}
 
源代码3 项目: android   文件: MptWidgetProvider.java
protected void updateWithError(Context context, String error) {
    AppWidgetManager mgr = AppWidgetManager.getInstance(context);
    ComponentName cn = new ComponentName(context, getWidgetClass());
    int[] appWidgetIds = mgr.getAppWidgetIds(cn);

    if (appWidgetIds.length == 0) return;

    for (int appWidgetId : appWidgetIds) {
        RemoteViews layout = buildErrorLayout(mgr, context, appWidgetId, error);
        mgr.updateAppWidget(appWidgetId, layout);
    }
}
 
源代码4 项目: AndroidPirateBox   文件: PirateBoxWidget.java
/**
 * Shows the intermediate image
 * 
 * @param context	Context to use
 */
private void showIntermediateImage(Context context) {
	AppWidgetManager manager = AppWidgetManager.getInstance(context);
       int[] widgetIds = manager.getAppWidgetIds(new ComponentName(context, PirateBoxWidget.class));
	
	// Set intermediate image
   	RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
       views.setImageViewResource(R.id.widgetCanvas, R.drawable.widget_limbo);
       manager.updateAppWidget(widgetIds, views);
}
 
源代码5 项目: Phonograph   文件: BootReceiver.java
@Override
public void onReceive(final Context context, Intent intent) {
    final AppWidgetManager widgetManager = AppWidgetManager.getInstance(context);

    // Start music service if there are any existing widgets
    if (widgetManager.getAppWidgetIds(new ComponentName(context, AppWidgetBig.class)).length > 0 ||
            widgetManager.getAppWidgetIds(new ComponentName(context, AppWidgetClassic.class)).length > 0 ||
            widgetManager.getAppWidgetIds(new ComponentName(context, AppWidgetSmall.class)).length > 0 ||
            widgetManager.getAppWidgetIds(new ComponentName(context, AppWidgetCard.class)).length > 0) {
        final Intent serviceIntent = new Intent(context, MusicService.class);
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { // not allowed on Oreo
            context.startService(serviceIntent);
        }
    }
}
 
源代码6 项目: AndroidPirateBox   文件: PirateBoxWidget.java
@Override
public void onReceive(Context context, Intent intent) {
	AppWidgetManager manager = AppWidgetManager.getInstance(context);
       int[] widgetIds = manager.getAppWidgetIds(new ComponentName(context, PirateBoxWidget.class));
  
       if(intent.getAction().equals(WIDGET_INTENT_CLICKED)) {
       	Intent serviceIntent = new Intent(context, PirateBoxService.class);
       	
       	boolean serverRunning = PirateBoxService.isRunning();
       	boolean startingUp = PirateBoxService.isStartingUp();
       	
       	// Only start if not running an not starting up
       	if(!serverRunning && !startingUp) {
       		showIntermediateImage(context);
       		context.startService(serviceIntent);
       	}
       	// Only stop service, if service is running
       	else if(serverRunning) {
       		showIntermediateImage(context);
       		context.stopService(serviceIntent);
       	}
       }
       else {
       	showWidget(context, manager, widgetIds, PirateBoxService.isRunning());
       }
       
       
}
 
源代码7 项目: Orin   文件: BootReceiver.java
@Override
public void onReceive(Context context, Intent intent) {
    final AppWidgetManager widgetManager = AppWidgetManager.getInstance(context);

    // Start music service if there are any existing widgets
    if (widgetManager.getAppWidgetIds(new ComponentName(context, AppWidgetBig.class)).length > 0 ||
            widgetManager.getAppWidgetIds(new ComponentName(context, AppWidgetClassic.class)).length > 0 ||
            widgetManager.getAppWidgetIds(new ComponentName(context, AppWidgetSmall.class)).length > 0) {
        final Intent serviceIntent = new Intent(context, MusicService.class);
        context.startService(serviceIntent);
    }
}
 
源代码8 项目: mytracks   文件: TrackWidgetProvider.java
/**
 * Updates all app widgets.
 * 
 * @param context the context
 * @param trackId track id
 */
private static void updateAllAppWidgets(Context context, long trackId) {
  AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
  int[] appWidgetIds = appWidgetManager.getAppWidgetIds(
      new ComponentName(context, TrackWidgetProvider.class));
  for (int appWidgetId : appWidgetIds) {
    updateAppWidget(context, appWidgetManager, appWidgetId, trackId);
  }
}
 
源代码9 项目: OmniList   文件: AppWidgetUtils.java
public static void notifyAppWidgets(Context context) {
    // Home widgets
    AppWidgetManager mgr = AppWidgetManager.getInstance(context);
    int[] ids = mgr.getAppWidgetIds(new ComponentName(context, ListWidgetProvider.class));
    LogUtils.d("Notifies AppWidget data changed for widgets " + Arrays.toString(ids));
    mgr.notifyAppWidgetViewDataChanged(ids, R.id.widget_list);
}
 
源代码10 项目: Music-Player   文件: BaseAppWidget.java
/**
 * Check against {@link AppWidgetManager} if there are any instances of this
 * widget.
 */
protected boolean hasInstances(final Context context) {
    final AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
    final int[] mAppWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context,
            getClass()));
    return mAppWidgetIds.length > 0;
}
 
源代码11 项目: ghwatch   文件: UnreadNotificationsService.java
protected void updateWidgets() {
  if (PreferencesUtils.getBoolean(context, PreferencesUtils.PREF_WIDGET_UNREAD_EXISTS, false)) {
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
    int[] ids = appWidgetManager.getAppWidgetIds(new ComponentName(context, UnreadAppWidgetProvider.class));
    Intent intent = new Intent(context, UnreadAppWidgetProvider.class);
    intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
    intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids);
    context.sendBroadcast(intent);
    Log.d(TAG, "Widget update Intent fired");
  }
}
 
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
		int[] appWidgetIds) {

	// Get all ids
	ComponentName thisWidget = new ComponentName(context,
			MyWidgetProviderSimple.class);
	int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);

	for (int widgetId : allWidgetIds) {
		// Create some random data
		int number = (new Random().nextInt(100));

		RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
				R.layout.widgetsimple_layout);
		Log.w("WidgetExample", String.valueOf(number));
		// Set the text to the view with the id R.id.update
		// instead of -1
		remoteViews.setTextViewText(R.id.update, String.valueOf(number));

		// Register an onClickListener
		Intent intent = new Intent(context, MyWidgetProviderSimple.class);

		intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
		intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, allWidgetIds);

		PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
				0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
		remoteViews.setOnClickPendingIntent(R.id.update, pendingIntent);
		appWidgetManager.updateAppWidget(widgetId, remoteViews);
	}
}
 
源代码13 项目: good-weather   文件: LessWidgetProvider.java
@Override
public void onReceive(Context context, Intent intent) {
    switch (intent.getAction()) {
        case Constants.ACTION_FORCED_APPWIDGET_UPDATE:
            if(AppPreference.isUpdateLocationEnabled(context)) {
                context.startService(new Intent(context, LocationUpdateService.class));
            } else {
                context.startService(new Intent(context, LessWidgetService.class));
            }
            break;
        case Intent.ACTION_LOCALE_CHANGED:
            context.startService(new Intent(context, LessWidgetService.class));
            break;
        case Constants.ACTION_APPWIDGET_THEME_CHANGED:
            AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
            ComponentName componentName = new ComponentName(context, LessWidgetProvider.class);
            int[] appWidgetIds = appWidgetManager.getAppWidgetIds(componentName);
            onUpdate(context, appWidgetManager, appWidgetIds);
            break;
        case Constants.ACTION_APPWIDGET_UPDATE_PERIOD_CHANGED:
            AppWidgetProviderAlarm widgetProviderAlarm =
                    new AppWidgetProviderAlarm(context, LessWidgetProvider.class);
            if (widgetProviderAlarm.isAlarmOff()) {
                break;
            } else {
                widgetProviderAlarm.setAlarm();
            }
            break;
        default:
            super.onReceive(context, intent);
    }
}
 
源代码14 项目: AndroidChromium   文件: BookmarkWidgetProvider.java
/**
 *  Checks for any states that may have not received onDeleted.
 */
private void removeOrphanedStates(Context context) {
    AppWidgetManager wm = AppWidgetManager.getInstance(context);
    int[] ids = wm.getAppWidgetIds(getComponentName(context));
    for (int id : ids) {
        BookmarkWidgetService.deleteWidgetState(context, id);
    }
}
 
源代码15 项目: 365browser   文件: BookmarkWidgetProvider.java
/**
 *  Checks for any states that may have not received onDeleted.
 */
private void removeOrphanedStates(Context context) {
    AppWidgetManager wm = AppWidgetManager.getInstance(context);
    int[] ids = wm.getAppWidgetIds(getComponentName(context));
    for (int id : ids) {
        BookmarkWidgetService.deleteWidgetState(context, id);
    }
}
 
源代码16 项目: javaide   文件: WidgetHelper.java
private static int[] findAppWidgetIds(Context context) {
    AppWidgetManager manager = AppWidgetManager.getInstance(context);
    ComponentName widget = new ComponentName(context, RecordingWidgetProvider.class);
    return manager.getAppWidgetIds(widget);

}
 
源代码17 项目: Popeens-DSub   文件: DSubWidgetProvider.java
/**
 * Check against {@link AppWidgetManager} if there are any instances of this widget.
 */
private boolean hasInstances(Context context) {
    AppWidgetManager manager = AppWidgetManager.getInstance(context);
    int[] appWidgetIds = manager.getAppWidgetIds(new ComponentName(context, getClass()));
    return (appWidgetIds.length > 0);
}
 
源代码18 项目: iSCAU-Android   文件: WidgetHelper.java
private void updateRemoteViews() {
    ComponentName componentName = new ComponentName(app, WidgetProvider.class);
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(app);
    int[] appWidgetIds = appWidgetManager.getAppWidgetIds(componentName);
    appWidgetManager.updateAppWidget(appWidgetIds,remoteViews);
}
 
源代码19 项目: deskcon-android   文件: MediaWidgetProvider.java
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
		int[] appWidgetIds) {
	
    // Get all ids
    ComponentName thisWidget = new ComponentName(context,
        MediaWidgetProvider.class);
    int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
    SharedPreferences prefs = context.getSharedPreferences("widget_preferences", 0);
    
    for (int widgetId : allWidgetIds) {	
    	// load widget preferences
    	String hostname = prefs.getString("hostname"+widgetId, "Host");
    	Long uuid = prefs.getLong("uuid"+widgetId, 0);
    	String player = prefs.getString("player"+widgetId, "Default");
    	
    	// Build Widget
        RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
	            R.layout.media_widget);
		remoteViews.setTextViewText(R.id.widgethosttextView, hostname);
		remoteViews.setTextViewText(R.id.widgetplayertextView, player);
        // Register an onClickListener
        Intent intent = new Intent(context, MediaWidgetProvider.class);
        intent.setAction("PLAY");
        intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetId);
        intent.putExtra("uuid", uuid);
        intent.putExtra("player", player);

        PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
            0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        remoteViews.setOnClickPendingIntent(R.id.PlayButton, pendingIntent);
        
        intent.setAction("NEXT");
        pendingIntent = PendingIntent.getBroadcast(context,
                0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        remoteViews.setOnClickPendingIntent(R.id.NextButton, pendingIntent);
        
        intent.setAction("PREVIOUS");
        pendingIntent = PendingIntent.getBroadcast(context,
                0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        remoteViews.setOnClickPendingIntent(R.id.PrevButton, pendingIntent);
        
        appWidgetManager.updateAppWidget(widgetId, remoteViews);	    	
    }
    
}
 
源代码20 项目: opentasks   文件: TaskListWidgetProvider.java
@Override
public void onReceive(Context context, Intent intent)
{
    super.onReceive(context, intent);

    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
    int[] appWidgetIds = appWidgetManager.getAppWidgetIds(getComponentName(context));
    String action = intent.getAction();
    if (action.equals(Intent.ACTION_PROVIDER_CHANGED))
    {
        appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.task_list_widget_lv);
    }
    else if (action.equals(ACTION_CREATE_TASK))
    {
        int widgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, 0);
        WidgetConfigurationDatabaseHelper configHelper = new WidgetConfigurationDatabaseHelper(context);
        SQLiteDatabase db = configHelper.getReadableDatabase();
        ArrayList<Long> widgetLists = WidgetConfigurationDatabaseHelper.loadTaskLists(db, widgetId);
        db.close();
        ArrayList<Long> writableLists = new ArrayList<>();
        String authority = AuthorityUtil.taskAuthority(context);
        if (!widgetLists.isEmpty())
        {
            Cursor cursor = context.getContentResolver().query(
                    TaskLists.getContentUri(authority),
                    new String[] { TaskLists._ID },
                    TaskLists.SYNC_ENABLED + "=1 AND " + TaskLists._ID + " IN (" + TextUtils.join(",", widgetLists) + ")",
                    null,
                    null);
            if (cursor != null)
            {
                while (cursor.moveToNext())
                {
                    writableLists.add(cursor.getLong(0));
                }
                cursor.close();
            }
        }
        Intent editTaskIntent = new Intent(Intent.ACTION_INSERT);
        editTaskIntent.setData(Tasks.getContentUri(authority));
        editTaskIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        if (!writableLists.isEmpty())
        {
            Long preselectList;
            if (writableLists.size() == 1)
            {
                // if there is only one list, then select this one
                preselectList = writableLists.get(0);
            }
            else
            {
                // if there are multiple lists, then select the most recently used
                preselectList = RecentlyUsedLists.getRecentFromList(context, writableLists);
            }
            Log.d(getClass().getSimpleName(), "create task with preselected list " + preselectList);
            ContentSet contentSet = new ContentSet(Tasks.getContentUri(authority));
            contentSet.put(Tasks.LIST_ID, preselectList);
            Bundle extraBundle = new Bundle();
            extraBundle.putParcelable(EditTaskActivity.EXTRA_DATA_CONTENT_SET, contentSet);
            editTaskIntent.putExtra(EditTaskActivity.EXTRA_DATA_BUNDLE, extraBundle);
        }
        context.startActivity(editTaskIntent);
    }
}