我正在使用意图从我的服务启动谷歌导航。我的服务有一个部分唤醒锁,当屏幕打开时它工作正常。但是如果我关闭屏幕(部分唤醒锁保持 cpu 运行),然后谷歌导航将打开,但它不会开始导航。有没有更好的解决方案然后暂时打开屏幕?还有为什么会有这种行为?
意图:
Intent i = new Intent(Intent.ACTION_VIEW,
Uri.parse("google.navigation:q=" + latlong));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
| Intent.FLAG_FROM_BACKGROUND);
context.startActivity(i);
Wakelock(别担心我稍后会发布它......):
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Carma");
wakeLock.acquire();
先感谢您!
编辑:
通过进一步的研究,谷歌导航似乎在从键盘保护后面启动时出现问题......我目前的解决方案是唤醒设备并暂时禁用键盘保护以启动意图。但这远非最佳解决方案......