2017-11-16 8 views
2

답변을 찾은 후에이 질문을 만들고 있지만 에티켓에 대해서는 확실하지 않지만 seems to be OK (더하기, 기본 제공이 있습니다. 선택권).Intent.createChooser를 사용하여 Waze 및 Google지도에서 탐색하면 Waze 아이콘이 두 번 표시됩니다.

문제는 제목에 설명 된대로, 우리는이 유사한 코드를 사용하여 의도 츄 생성 :

String url = "waze://?ll=" + latitude + ", " + longitude + "&navigate=yes"; 
Intent intentWaze = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 

String uriGoogle = "google.navigation:q=" + latitude + "," + longitude; 
Intent intentGoogleNav = new Intent(Intent.ACTION_VIEW, Uri.parse(uriGoogle)); 

String title = context.getString(R.string.title); 
Intent chooserIntent = Intent.createChooser(intentGoogleNav, title); 
Intent[] arr = new Intent[1]; 
arr[0] = intentWaze; 
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, arr); 
context.startActivity(chooserIntent); 

를 그리고 두 Waze의 아이콘과 하나 개의 Google지도 아이콘을 가지고; Waze 아이콘 중 하나가 탐색을 시작하지 않았습니다 (앱을 열 때만).

표시된 인 텐트 (항상 두 가지 인 텐트를 표시하지 않음)와 Google지도의 내비게이션 유형 (예 : &mode=w)을 제어해야하기 때문에 use the geo: 의도를 제어 할 수 없었습니다.

답변

3

잠시 후 나는 found here 솔루션을 사용했고 제대로 작동하는 아이콘은 하나뿐이었습니다. 내가 질문에 썼던 것처럼, 그것이 내가 필요한 유연성이 부족하기 때문에이 솔루션을 사용할 수 없게 코드보고 후 나는이되었다 무슨 것을보고 :

intentWaze.setPackage("com.waze"); 
// and more importantly, this: 
intentGoogleNav.setPackage("com.google.android.apps.maps"); 

Waze를 듣고 것 같다 Google지도의 의도는 (그리고 잘 작동하지 않습니다.) 그래서 두 가지 아이콘이 있습니다.

+0

이것은 굉장합니다. –