如何启动在与小部件不同的包中定义的活动?

Posted

技术标签:

【中文标题】如何启动在与小部件不同的包中定义的活动?【英文标题】:How to start an activity which is defined in different package from a widget? 【发布时间】:2012-03-12 12:40:34 【问题描述】:

我有一个带有可点击 Imageview 的小部件。当我单击小部件时,我希望它启动不同包中的活动。但我没有收到任何错误,点击事件也没有发生。我在下面给出我的代码。

Intent start = new Intent(context, com.abc.xyz.Start.class);//com.abc.xyz->other package        
PendingIntent pendingIntent = PendingIntent.getActivity(
        context, 0, start, 0);          
RemoteViews views = new RemoteViews(context.getPackageName(),
        R.layout.widget_main);
views.setOnClickPendingIntent(R.id.clickable_image_widget, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, views);

谁能帮忙?

【问题讨论】:

【参考方案1】:

直接通过包名/类名启动应用程序并不理想。

【讨论】:

我想知道活动是在同一个包还是在不同的包中是否重要? 那我该怎么做呢?任何想法..?你能以正确的方式编辑代码吗?

以上是关于如何启动在与小部件不同的包中定义的活动?的主要内容,如果未能解决你的问题,请参考以下文章

在不同的包名称下移动 AppWidgetProvider 会破坏活动的小部件

单击小部件后如何启动活动?

如何从 android 主屏幕小部件启动活动

将小部件名称与小部件一起添加到主屏幕

Flutter / Dart:地图列表与小部件列表?哪个更好?

如何使用来自小部件的不同附加功能打开相同的活动