Android 设置活动未启动
到目前为止,我已经编写了代码:Android 设置活动未启动,android,android-activity,android-appwidget,Android,Android Activity,Android Appwidget,到目前为止,我已经编写了代码: public class WidgetActivity extends AppWidgetProvider { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(acti
public class WidgetActivity extends AppWidgetProvider
{
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action))
{
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_activity);
Intent settingsIntent = new Intent(context, Info.class);
PendingIntent clickPendIntent = PendingIntent.getActivity
(context, 0, settingsIntent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.Widget, clickPendIntent);
AppWidgetManager.getInstance(context).updateAppWidget(intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS), views);
}
}
}
如果没有成功,我会在小部件出现在屏幕上时单击它,但什么也没有启动。我遗漏了什么吗?将确保设置了
pendingent
的代码放在onUpdate()
方法中。这确保小部件一放在主屏幕上,就设置了pendingent
因此:
此外:
如果您还希望在首次将小部件添加到主屏幕时自动弹出信息
活动
,则应阅读。将确保设置了挂起内容的代码放在onUpdate()
方法中。这确保小部件一放在主屏幕上,就设置了pendingent
因此:
此外:
如果您还希望在首次将小部件添加到主屏幕时自动弹出信息活动
,您应该阅读。我认为您不需要剩余的代码来解决按下小部件时未启动活动
的问题。这是可能的。这不会对此特定内容造成任何问题(按小部件启动意图中定义的活动)。第一个onUpdate(当将小部件放在主屏幕上时)仍然会收到。好的,我在这里学习。请在课堂上使用完整的包装名称。示例:com.Example.yourappname.Info
。然后让我知道它是否有效。再次安装应用程序之前,建议完全重新安装该应用程序(删除数据和缓存,并通过设置-->应用程序手动删除该应用程序)。是的,启动该应用程序。谢谢你,我现在明白了,看完这篇文章:。您启动的Info
活动应返回结果。请仔细阅读,它会对你有所帮助。请注意,只有当它被放置在主屏幕上时,它才需要自动启动。要通过按小部件打开活动,这是不必要的,并且我的代码中的onUpdate
部分就足够了。我认为您不需要剩余的代码来解决按下小部件时活动不启动的问题。这是可能的。这不会对此特定内容造成任何问题(按小部件启动意图中定义的活动)。第一个onUpdate(当将小部件放在主屏幕上时)仍然会收到。好的,我在这里学习。请在课堂上使用完整的包装名称。示例:com.Example.yourappname.Info
。然后让我知道它是否有效。再次安装应用程序之前,建议完全重新安装该应用程序(删除数据和缓存,并通过设置-->应用程序手动删除该应用程序)。是的,启动该应用程序。谢谢你,我现在明白了,看完这篇文章:。您启动的Info
活动应返回结果。请仔细阅读,它会对你有所帮助。请注意,只有当它被放置在主屏幕上时,它才需要自动启动。要通过按小部件打开活动,这是不必要的,我的代码中的onUpdate
部分就足够了。
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgets) {
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_activity);
Intent intent = new Intent(context, Info.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
remoteViews.setOnClickPendingIntent(R.id.Widget, pendingIntent);