【问题标题】:Add Android Widget on App Install在应用安装时添加 Android 小部件
【发布时间】:2014-01-06 18:56:54
【问题描述】:

我正在尝试找到一种方法来自动添加小部件,而无需用户通过启动器手动将其添加到主页或锁定屏幕(最好两者都添加,但至少添加到锁定屏幕)。

这是我必须将小部件添加到主屏幕的内容。我错过了什么?

 public class MyWidgetProvider extends AppWidgetProvider {

   private static final String ACTION_CLICK = "ACTION_CLICK";

   @Override
   public void onUpdate(Context context, AppWidgetManager appWidgetManager,
       int[] appWidgetIds) {


     ComponentName thisWidget = new ComponentName(context,
         MyWidgetProvider.class);
     int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
     final List<AppWidgetProviderInfo> infos = appWidgetManager.getInstalledProviders();


     AppWidgetProviderInfo appWidgetInfo = null;

     for (final AppWidgetProviderInfo info : infos) {
    Log.v("AD3", info.provider.getPackageName() + " / "
            + info.provider.getClassName());
}

     for (final AppWidgetProviderInfo info : infos) {
         if (info.provider.getClassName().equals(thisWidget.getClassName()) && info.provider.getPackageName().equals(thisWidget.getPackageName())) {

        appWidgetInfo = info;
        break;
         }
     }
     if (appWidgetInfo == null)
         return; //stop here

     for (int widgetId : allWidgetIds) {

       int number = (new Random().nextInt(100));

       RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
           R.layout.widget_layout);
       Log.w("WidgetExample", String.valueOf(number));
       remoteViews.setTextViewText(R.id.update, String.valueOf(number));

       Intent intent = new Intent(context, MyWidgetProvider.class);

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

       PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
           0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
       remoteViews.setOnClickPendingIntent(R.id.update, pendingIntent);
       appWidgetManager.updateAppWidget(widgetId, remoteViews);
     }
   }
 }

【问题讨论】:

    标签: android android-widget lockscreen


    【解决方案1】:

    你错过了这是不可能的事实。没有 API 可以强制将应用小部件添加到主屏幕或锁屏。并非所有主屏幕和锁屏都支持应用小部件。

    欢迎您推出自己的 ROM 模组,您的应用小部件已预先安装在主屏幕上,就像制造商那样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多