【问题标题】: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);
    }

【问题讨论】:

  • 我相信这是不可能的

标签: android android-activity android-widget widget


【解决方案1】:

您不能这样做,但您可以充分利用您的布局及其更新间隔,因为小部件有自己的生命周期。

【讨论】:

    【解决方案2】:

    不要使用活动并使用Fragment。它可以做 Activity 所做的一切(如果需要,可以调用父 Activity 的方法),也可以植入屏幕的专用部分。

    【讨论】:

    • 我正在为一个已经完成的大型应用程序编写一个小部件。难道不改app代码就没有办法了吗?
    猜你喜欢
    • 2014-06-11
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2012-12-28
    • 1970-01-01
    相关资源
    最近更新 更多