2017-08-18 1 views
8

私は開始しますGoogleマップ私のアプリケーションからに移動ユーザーを移動します。Googleマップで前のナビゲーションを終了することなく新しいナビゲーションを開始

ここに私のコードです。

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
       Uri.parse("google.navigation:q=" + rideDetailsModel.getEndLatitude() + "," + rideDetailsModel.getEndLongtitude())); 
     startActivity(intent); 

私はGoogleマップから戻って自分のアプリケーションに取るようにユーバードライバアプリのようチャットヘッドを使用しています。それはうまくいきます。問題は、私が上記の同じコードを呼び出している間、Google Mapは以前のナビゲーションを終了するように求めています。以前のナビゲーションはクリアされていないためです。以前のものをクローズするように求めることなく、新たなナビゲーションを作成するGoogleマップを強制する方法

2つの方法で問題を解決できます。

方法1

私は自分のアプリケーションから、Googleの地図アプリケーションを閉じることができた場合は、私の問題は解決しました。しかし、私は多くを検索し、根なし携帯電話は他のアプリケーションを殺すことはできません。

方法2

クリア以前のナビゲーションと新しいナビゲーションを作成します。したがってGoogleマップは、新しいナビゲーションを開始する前に、前のナビゲーションから退出するようにユーザーに求めません。

+0

結局のところそれを行う方法がある場合は、ユーザーとして、私は確かにないので、私は、失望するだろう私の現在/以前のナビゲーションルートが私の承認なしに削除される場合、幸せになれます。 – azizbekian

+0

あなたはuberドライバであると考えてください。それぞれの乗車のために、以前のナビゲーションを手動で終了して新しいナビゲーションをスターにする必要があります。@ azizbekian –

+0

あなたのユースケースを理解しています。しかし、もしGoogleがそのようなAPIをGoogle Mapsアプリとやりとりすると、開発者はそれを悪用してユーザを苦しめるだろう。それは私の以前のコメントのポイントです。 – azizbekian

答えて

4

方法3:(単に意図フラグをクリアすることによってそれを作る)

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 
関連する問題