본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] Browser 로부터 Share intent 받아 처리하기

by 돼지왕 왕돼지 2019. 2. 2.
반응형

[android] Browser 로부터 Share intent 받아 처리하기


https://paul.kinlan.me/sharing-natively-on-android-from-the-web

https://developer.chrome.com/multidevice/android/intents


Action, android.intent.extra, browsable, browser share, browser share intent, browser_fallback_url, Category, component, default, encoded, fallback url, intent fallback, intent syntax, key value syntax, package, scheme, Send, [android] Browser 로부터 Share intent 받아 처리하기


-

IntentFilter 를 아래와 같은 형태로 작성한다

<intent-filter>

    <action android:name="android.intent.action.SEND" />

    <category android:name="android.intent.category.DEFAULT" />

    <category android:name="android.intent.category.BROWSABLE" />

    <data android:mimeType="text/plain" />

    <data android:mimeType="image/*" />

</intent-filter>  



-

Browser 에서 Share 버튼을 눌렀을 때 다음과 같은 format 으로 url 을 작성한다.

intent:#intent;action=android.intent.action.SEND;type=text/plain;S.android.intent.extra.SUBJECT=testSubject;S.android.intent.extra.TEXT=testText;end


intent key 등록은 S.android.intent.extra.[Key]=[Value] 의 syntax 이다.

ex) S.android.intent.extra.TEST_KEY=testValue



-

앱이 설치되어 있지 않았다면 처리할 fallback을 등록할 수도 있다.

…. S.browser_fallback_url=https:%3A%2F%2Ftest.com;end


S.browser_fallback_url=[encodedFullUrl] 의 syntax 를 가진다.



-

Intent url 의 Full Syntax 는 아래와 같다.

intent:

   HOST/URI-path // Optional host

   #Intent;

      package=[string];

      action=[string];

      category=[string];

      component=[string];

      scheme=[string];

   end; 




반응형

댓글