2012-06-25 2 views
5

다음 링크에서 설명한대로 의도를 보내고 사용자를 Google Play로 리디렉션하는 것으로 알려져 있습니다.사용자를 Android의 App Store로 리디렉션

Uri marketUri = Uri.parse("market://details?id=" + packageName); 
Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); 
startActivity(marketIntent); 

그러나 문제는 모든 앱 스토어 (킨), 특히 아마존 앱 스토어뿐만 아니라,이 텐트를 처리 할 수 ​​있다는 것입니다?
나는 다음과 같은 URI가 아마존 앱 스토어에 사용자를 리디렉션해야한다는 것을 알고

http://www.amazon.com/gp/mas/dl/android?p=package 

그러나, 내가 두 바이너리, 일반 안드로이드에 대한 하나 아마존 다른 싶지 않아요.

+0

기기를 감지하지 못했거나 기기에 따라 URL을 사용할 수 없습니까? –

+0

예,하지만 좋은 해결책이 아닌 것 같습니다. 실제로, Google Play 및 Amazon App Store뿐만 아니라 중국 안드로이드 폰/태블릿에 많은 앱 스토어가 있습니다. 그리고 나는 모든 장치를 다룰 수 없다 ... Btw, 나는 제조업자를 얻을 수 있지만 나는 장치를 가지고 있지 않기 때문에 아마존 장치에서 반환 된 정확한 문자열을 모른다. – Bear

+2

찾는 방법 장치 -> http://stackoverflow.com/questions/8309624/detect-app-is-running-on-kindle-fire –

답변

3

일반적인 방법은 없습니다. 여기서해야 할 일은 코드에 플래그 집합을 설정하는 것입니다.

그래서 당신은

boolean AMAZON_APK=true; 
boolean ANDROID_APK =false; 
.... 

당신이 아마존에 게시 할 당신은 안드로이드 플레이에 게시 할 때 때 그런 다음 적절한 값을 설정합니다 같은 것을 할 것입니다. 시장을 시작하기 전에 코드에서 일련의 if 문으로 플래그를 확인하고 특정 시장이 지원하는 내용에 따라 적절한 의도를 시작하십시오. 몇 가지 변수 만 변경하면되므로 큰 문제는 아닙니다.

if(AMAZON_APK) 
    //launch amazon intent 
if(ANDROID_APK) 
    //launch android market intent 
.... 

여기에서보다 완벽한 예를 볼 수 있습니다. How can I do an Amazon App Store search using an Intent and filter it by developer name? 일부 시장이 시장 의도와 같은 것을 지원하지 않는 경우 모바일 웹 사이트에 대한 링크를 시작하고 거기에서 귀하의 앱으로 사용자를 안내 할 수 있습니다.

+0

전에 언급했듯이 두 개의 별도 바이너리를 갖고 싶지 않습니다. 내가 알고 싶은 것은 아마존 장치가 위에서 언급 한 의도를 인식 할 수 있다는 것입니다. 나는 그것이 아마존 앱 스토어에서 금지되었다는 것을 알고 있지만, 나는 그들의 앱 스토어에 업로드 할 계획이 없으므로 걱정하지 않는다. 난 그냥 아마존 장치 – Bear

+0

아마 진짜로 작동하는지 확인하려는 권리, 내가 무슨 불만 시장의 의도와 함께 확인하지 않으면 별도의 바이너리를 공개하지 않고 이것을 할 수있는 방법은 PlayManager가 있는지 확인하기 위해 PackageManager를 사용하는 것입니다 설치 한 다음 안드로이드 인 텐트를 시작합니다. 아마존이 설치되어 있는지 확인하지 않으십시오. 둘 다 없으면 웹 사이트 또는 알고있는 다른 "상점"응용 프로그램을 사용하십시오. 패키지 관리자를 사용하여 설치된 응용 프로그램을 확인하십시오. http://stackoverflow.com/q/6711295/329034 – mbwasi

관련 문제