gpt4 book ai didi

Android PendingIntent 启动 Activity

转载 作者:行者123 更新时间:2023-11-30 03:32:39 26 4
gpt4 key购买 nike

我已经设法设置我的小部件,以便在单击它时启动配置 Activity ,以便用户可以更改以前设置的数据。但是,当第一次将小部件添加到主屏幕时,单击它什么都不做,如果我在不编辑任何代码的情况下再次通过 eclipse 推送 apk,则小部件将变为可点击,我尝试将相同的 PendingIntent 放在 onEnable 方法中,但它仍然没有不工作?

这是我的更新方法

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int appWidgetId : appWidgetIds) {
setAlarm(context, appWidgetId, UPDATE_RATE);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);

//views.setViewVisibility(R.id.button1, View.VISIBLE);

Intent intent = new Intent(context, Config.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));
PendingIntent pendIntent = PendingIntent.getActivity(context, appWidgetId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.imageView2, pendIntent);

appWidgetManager.updateAppWidget(appWidgetId, views);


super.onUpdate(context, appWidgetManager, appWidgetIds);
}

如果我是正确的,那么就不再需要 onRecieve 方法了,因为我没有发送广播请求 Activity ?

提前致谢

最佳答案

对于任何想知道的人,我必须将以下代码添加到我的服务 onStart 方法中,一旦我添加了小部件,onClick 就立即可用了!

 RemoteViews views = new RemoteViews(getApplicationContext().getPackageName(), R.layout.main);
Intent intent1 = new Intent(getApplicationContext(), Config.class);
intent1.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent1.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));
PendingIntent pendIntent = PendingIntent.getActivity(getApplicationContext(), appWidgetId, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.imageView2, pendIntent);

关于Android PendingIntent 启动 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com