웹에서 버튼을 누를때 특정 앱이 실행되게 하려 하는데 질문이 있습니다!
안녕하십니까!
저는 웹 개발자 입니다!
모바일웹에서 어떤 버튼을 누르면, QR코드 스캐너 앱이 실행되게 하려는데요!
(폰에 앱이 설치되있지 않을경우, 마켓 페이지로 이동되게 하려합니다.)
인터넷을 찾아본 결과 정리해보니 제가 연동을 원하는 앱의 AndroidManifest.xml 파일을 열어본 후
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE" ></category>
<data android:scheme="scan" android:host="scan"></data>
</intent-filter>
위에 나온 코드와 같은 인턴드 필터 구간에서
scan://scan (스키마://호스트)
방식으로 호출하면 앱이 실행된다고 나와있더군요. 하지만 앱을 설치하고나서 모바일 브라우저에서
주소창이 scan://scan 를 쳐도 웹서핑만 되고 앱 실행이 되지 않습니다.
인터넷 어딜 찾아봐도 스키마://호스트 방식으로 링크를 걸면 실행이 된다고 나와있는데,
왜 실행이 안되는 걸까요...?
제가 실행을 하고자하는 앱의
AndroidManifast 파일의 모든 코드는...
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="
http://schemas.android.com/apk/res/android"
android:versionCode="28"
android:versionName="2.3"
android:installLocation="0"
package="me.scan.android.client"
>
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19"
>
</uses-sdk>
<uses-permission
android:name="android.permission.CAMERA"
>
</uses-permission>
<uses-permission
android:name="android.permission.FLASHLIGHT"
>
</uses-permission>
<uses-permission
android:name="android.permission.INTERNET"
>
</uses-permission>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"
>
</uses-permission>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
>
</uses-permission>
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"
>
</uses-permission>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
>
</uses-permission>
<uses-permission
android:name="android.permission.VIBRATE"
>
</uses-permission>
<uses-permission
android:name="android.permission.CHANGE_WIFI_STATE"
>
</uses-permission>
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"
>
</uses-permission>
<uses-feature
android:name="android.hardware.camera"
android:required="false"
>
</uses-feature>
<uses-feature
android:name="android.hardware.camera.any"
android:required="false"
>
</uses-feature>
<uses-feature
android:name="android.hardware.camera.autoFocus"
android:required="false"
>
</uses-feature>
<uses-feature
android:name="android.hardware.camera.flash"
android:required="false"
>
</uses-feature>
<uses-feature
android:name="android.hardware.location"
android:required="false"
>
</uses-feature>
<uses-feature
android:name="android.hardware.location.gps"
android:required="false"
>
</uses-feature>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"
>
</uses-feature>
<uses-feature
android:name="android.hardware.wifi"
android:required="false"
>
</uses-feature>
<application
android:theme="@7F0D0035"
android:label="@7F060055"
android:icon="@7F0200AA"
android:name="me.scan.android.client.dagger.application.ScanApplication"
android:allowBackup="true"
>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@7F060056"
>
</meta-data>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@7F060057"
>
</meta-data>
<activity
android:label="@7F060055"
android:name="me.scan.android.client.ui.ScanActivity"
>
<intent-filter
>
<action
android:name="android.intent.action.MAIN"
>
</action>
<category
android:name="android.intent.category.LAUNCHER"
>
</category>
</intent-filter>
<intent-filter
>
<action
android:name="android.intent.action.VIEW"
>
</action>
<category
android:name="android.intent.category.DEFAULT"
>
</category>
<category
android:name="android.intent.category.BROWSABLE"
>
</category>
<data
android:scheme="scan"
android:host="scan"
>
</data>
</intent-filter>
<intent-filter
>
<action
android:name="android.intent.action.VIEW"
>
</action>
<category
android:name="android.intent.category.DEFAULT"
>
</category>
<category
android:name="android.intent.category.BROWSABLE"
>
</category>
<data
android:scheme="scan"
android:host="wifi"
>
</data>
</intent-filter>
<intent-filter
>
<action
android:name="android.intent.action.VIEW"
>
</action>
<category
android:name="android.intent.category.DEFAULT"
>
</category>
<category
android:name="android.intent.category.BROWSABLE"
>
</category>
<data
android:scheme="scan"
android:host="vcf"
>
</data>
</intent-filter>
</activity>
<activity
android:theme="@7F0D0040"
android:name="me.scan.android.client.ui.TextActivity"
>
</activity>
<provider
android:name="me.scan.android.client.contentproviders.ScanEventContentProvider"
android:exported="false"
android:authorities="@7F060058"
>
</provider>
<meta-data
android:name="com.crashlytics.ApiKey"
android:value="f52a8922145265e547c2427c5298695a77aaf982"
>
</meta-data>
</application>
</manifest>
입니다. 코드를 보면 인텐드 필터가 여러개 나와있는데, 저 곳에서 변수가 있는 것일까요...?
제가 뭘 착각했는지, 잘못했는지 알고 계신분은 제발 답변 부탁드립니다 ㅜㅜ