2012-12-07 2 views
2

내 Android 앱은 스트리밍을하는 Google 웹 사이트와 상호 작용해야합니다. 사용자가 앱을 설치하지 않은 경우 Google은 앱 및 다운로드 링크를 알리는 웹 페이지를 제공합니다.Android 인 텐트 필터가 일부 기기에서 android : scheme을 (를) 사용하여 등록되지 않았습니다.

은 정보 페이지에 있습니다 : http://my.site.no/android

그리고 모든 링크는이 정보 페이지로 시작됩니다 http://my.site.no/android?url=http://something.to.stream

나는 다음과 같은 텐트 필터 선언 한 응용 프로그램에서 :

<intent-filter> 
    <data android:scheme="http" android:host="my.site.no" android:pathPrefix="/android" /> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
</intent-filter> 

에게 이것은 대부분의 장치에서 작동하지만 일부 (특히 Samsung Galaxy SIII)는이 인 텐트 필터를 등록하지 않습니다. 앱이 설치 되더라도 사용자는 항상 정보 페이지에 위치합니다. 이것은 표준 브라우저뿐만 아니라 파이어 폭스와 크롬 같은 다른 브라우저에서도 동일하게 발생합니다. 인 텐트 등록을 거부하는 장치에는 "기본 응용 프로그램"설정이 활성화되어 있지 않습니다.

어떤 생각이 잘못된 것일까 요? 또는 이것을 디버깅하여 원인을 찾는 방법은 무엇입니까?

+0

URL을 붙여 넣을 때 돌핀 브라우저가 의도를 보내지 않는 것처럼 보입니다. 이 앱은 Dolphin을 사용하는 HTC Desire에서 실행되지 않지만 네이티브 브라우저에서 잘 작동합니다. –

답변

0

아마도 "https"체계에 대해 다른 것을 등록해야합니다. 나는 몇몇 애플 리케이션에이 문제를 가지고 있으며, 이것으로 해결했다.

+0

답장을 보내 주셔서 감사합니다. 이것은 불행히도 우리의 문제를 해결하지 못했습니다. gmail에서 클릭 한 원시 URL (http://my.site.no/android?url=http://something.to.stream)이 해당 기기에서 앱을 실행한다고 말할 수 있습니다. 그래서 그것은 브라우저와 http/https 체계와 관련이 있습니다. –

0

비슷한 문제가있었습니다. 필자의 경우, 우연히 설정 한 활동으로 인해 발생했습니다.

android:exported="false" 

(AndroidManifest.xml) 일부 기기/Android 버전은이 플래그를 존중하며 일부는 그렇지 않은 것으로 보입니다. 필자의 경우 HTC Sensation (Android 4.0.3)에서 작동했지만 HTC One X (Android 4.1.1) 또는 Samsung Galaxy S III (Android 4.1.2)에서는 작동하지 않았습니다.