3

我正在使用意图从我的服务启动谷歌导航。我的服务有一个部分唤醒锁,当屏幕打开时它工作正常。但是如果我关闭屏幕(部分唤醒锁保持 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();

先感谢您!

编辑:

通过进一步的研究,谷歌导航似乎在从键盘保护后面启动时出现问题......我目前的解决方案是唤醒设备并暂时禁用键盘保护以启动意图。但这远非最佳解决方案......

4

0 回答 0