我想在点击android小部件时启动配置活动?

时间:2014-06-11 12:56:58

标签: android

以下代码......

下面的代码是针对android小部件的 此链接上的代码相同。点击here

    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    for (int widgetId : appWidgetIds)
    {
        updateAppWidget(context, appWidgetManager, widgetId);
    }
}
protected static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId)
{
    //Inflate layout.
    RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.time_weight_layout);
    //Update UI.
    remoteViews.setTextViewText(R.id.tvTime, Utility.settemp());
    remoteViews.setTextViewText(R.id.tvTitle, Utility.gettitle());      //When user click on the label, update ALL the instances of the widget.
    Intent labelIntent = get_ACTION_APPWIDGET_UPDATE_Intent(context);
    labelIntent.setData(Uri.withAppendedPath(Uri.parse("abc" + "://widget/id/"), String.valueOf(appWidgetId)));
    PendingIntent labelPendingIntent = PendingIntent.getBroadcast(context, appWidgetId, labelIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    remoteViews.setOnClickPendingIntent(R.id.tvTime, labelPendingIntent);
    Log.d("updateAppWidget", "Updated ID: " + appWidgetId);
    //Call the Manager to ensure the changes take effect.
    appWidgetManager.updateAppWidget(appWidgetId, remoteViews);
}
protected static Intent get_ACTION_APPWIDGET_UPDATE_Intent(Context context)
{
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
    ComponentName thisAppWidget = new ComponentName(context.getPackageName(), TimeWidgetProvider.class.getName());
    int[] appWidgetIds = appWidgetManager.getAppWidgetIds(thisAppWidget);
    Intent intent = new Intent(context, MainActivity.class);
    intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
    intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
    return intent;
}

此处主要活动是配置活动我想在点击小部件时启动MainActivity

1 个答案:

答案 0 :(得分:1)

这里的a youtube link也是如此。 啧啧只有6分钟。