サービスから Google ナビゲーションを開始するインテントを使用しています。私のサービスには部分的なウェイクロックがあり、これは画面がオンのときに正常に機能します。しかし、画面をオフにすると (部分的なウェイクロックにより CPU が実行され続けます)、Google ナビゲーションは開きますが、ナビゲーションは開始されません。一時的に画面をオンにするよりも良い解決策はありますか? また、なぜこの動作があるのですか?
意図:
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();
前もって感謝します!
編集:
さらなる調査により、Google ナビゲーションはキーガードの背後から起動されることに問題があるようです...私の現在の解決策は、デバイスを起動し、キーガードを一時的に無効にしてインテントを起動することです。しかし、これは最適な解決策とはほど遠い...