在小部件中打开一个活动
Posted
技术标签:
【中文标题】在小部件中打开一个活动【英文标题】:Open an activity inside a widget 【发布时间】:2013-01-16 19:08:42 【问题描述】:我知道如何从小部件打开活动。它将全屏打开。
是否可以在小部件中打开一个?
我的活动是应用程序的一部分,它有一个很大的代码。该活动打开一个摄像头并运行一些算法。我可以有一个 4x4 小部件,并使用我的项目算法在小部件内运行活动吗? (基本上是 Activity 的快捷方式,但在小部件内播放)。
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds)
final int N = appWidgetIds.length;
for (int i = 0; i < N; i++)
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, ClassToLaunch.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);
views.setOnClickPendingIntent(R.id.widget_id, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
【问题讨论】:
我相信这是不可能的 【参考方案1】:您不能这样做,但您可以充分利用您的布局及其更新间隔,因为小部件有自己的生命周期。
【讨论】:
【参考方案2】:不要使用活动并使用Fragment。它可以做 Activity 所做的一切(如果需要,可以调用父 Activity 的方法),也可以植入屏幕的专用部分。
【讨论】:
我正在为一个已经完成的大型应用程序编写一个小部件。难道不改app代码就没有办法了吗?以上是关于在小部件中打开一个活动的主要内容,如果未能解决你的问题,请参考以下文章