1

我想将我的小部件和我的一个 android 应用程序结合起来..

有可能这样做吗?

我的计划是,一旦用户打开我的 android 小部件,小部件将直接打开我的 android 应用程序?

有什么办法吗?

我从我的小部件类在这里做了一些方法:

public class ExampleAppWidgetProvider extends AppWidgetProvider {

public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int i = 0; i < appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];

Intent intent = startActivity(new Intent("com.xxx.yyy.widget.FlamingoActivity"));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, 0);

RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget1);

views.setOnClickPendingIntent(R.id.Image, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}

我试图调用第二个应用程序 FlamingoActivity,但它失败了.. :(

不是完整的解决方案:

我应该改变这条线

Intent intent = startActivity(new Intent("com.xxx.yyy.widget.FlamingoActivity"));

对此:

Intent intent = new Intent(context, FlamingoActivity.class);
4

2 回答 2

0

您尝试调用的活动需要在其应用程序的清单中公开(导出)。从小部件启动活动并没有什么特别之处,除了您使用 aPendingIntent来允许小部件作为应用程序的一部分工作(它在启动器应用程序内运行)。

于 2012-12-18T05:34:52.997 回答
0

您需要在小部件上设置 onClickpendingIntent

   Intent intent = new Intent(context, ExampleActivity.class);
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
    // Get the layout for the App Widget and attach an on-click listener to the button
     RemoteViews views = new 
                 RemoteViews(context.getPackageName(),R.layout.appwidget_provider_layout);
      views.setOnClickPendingIntent(R.id.button, pendingIntent);

并且还看到这个问题从小部件启动活动

于 2012-12-18T05:38:37.883 回答