我正在使用意图从我的服务启动谷歌导航。我的服务有一个部分唤醒锁,这在屏幕打开时工作正常。但是,如果我关闭屏幕(部分唤醒锁保持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();
提前谢谢!
修改
通过进一步的研究,谷歌导航似乎在从键盘后面启动时出现问题......我目前的解决方案是唤醒设备并暂时禁用键盘锁以启动意图。但这远非最佳解决方案......