gpt4 book ai didi

android - 窗口已经聚焦,忽略 : com. android.internal.view 的聚焦增益

转载 作者:搜寻专家 更新时间:2023-11-01 09:12:23 26 4
gpt4 key购买 nike

不幸的是,我无法在其他 StackOverflow 帖子中找到解决此问题的方法,因此我提前为重新发布此问题表示歉意。本质上,我有一个创建通知的 AppWidget。我希望用户单击通知以启动 Activity 。 AppWidget 和 Activity 在同一个 APK 中。

以下代码全部在AppWidget中。单击通知会广播 AppWidget 接收的自定义 Intent。

问题是 Activity 似乎没有启动,即使 logcat 表明自定义 Intent 确实已被广播。唯一的线索是帖子标题中重申的 logcat 消息。

@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Constants.BROWSER_INTENT)) {
launchActivity(context, R.layout.appwidget, R.id.launch_button, Activity.class);
}
super.onReceive(context, intent);
}


private void displayNotification(Context context, String ticker, String title, String msg) {
Intent intent = new Intent(context, ThisWidget.class);
intent.setAction(Constants.BROWSER_INTENT);
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);

NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon, ticker, System.currentTimeMillis());

notification.setLatestEventInfo(context, title, msg, pending);
notificationManager.notify(1, notification);
}

一些注意事项:

  • 按下按钮执行 launchActivity() 会起作用(它会启动 Activity )
  • launchActivity 使用 Intent.FLAG_ACTIVITY_NEW_TASK 作为Android 生命周期文档推荐

有没有人解决了从 Notification press 启动 Activity 时的这个问题?

最佳答案

呃,数字,我在发布问题后几分钟就回答了我自己的问题。我想我通过使用 Intent 操作使实现过于复杂。我更改了这些行:

   Intent intent = new Intent(context, ThisWidget.class);
intent.setAction(Constants.BROWSER_INTENT);
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);

为此:

   Intent intent = new Intent(context, Activity.class);
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);

它奏效了。

抱歉发假帖。

关于android - 窗口已经聚焦,忽略 : com. android.internal.view 的聚焦增益,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7338178/

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