ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 안드로이드개발 다른앱에서 내앱으로 공유하기(크롬,브라우저에서 공유URL 받아오기)
    안드로이드시작부터웹뷰까지 2014. 10. 19. 05:37

    이번엔 안드로이드 기기의 크롬이나 다른브라우져에서 공유기능을 사용해 우리가 만든 앱으로

    URL 보내기기능을 할 수 있도록하고 받은 URL을 이용하는 방법을 알아봅시다


    1) 다른앱( 안드로이드의 다른 웹브라우져 ) 에서 공유기능을 사용했을때 내앱이 검색되도록 하기

    1-1. AndroidManifest.xml 파일을 열어 아래 볼드체 부분을 입력합니다.

            <activity

                android:name=".MainActivity"

                android:label="@string/app_name"

                 >

                <intent-filter>

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

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

                </intent-filter>


    <intent-filter>

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

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

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

    </intent-filter>

                

            </activity>

    1-2. 안드로이드 웹브라우져를 열고 메뉴 -> 공유하기를 눌러볼까요?


    1-3. 공유리스트에 위시룸이 추가가 되었네요. 하지만 여기까지만이라면 위시룸을 클릭했을때 그냥 바탕화면에서 위시룸을

    클릭했을때처럼 평범하게 앱이 시작됩니다.


    2) 공유기능을 통해서 다른앱을 통해서 앱이 실행되었을 경우 데이터 받아서 이용하기

    (ex)크롬에서 위시룸을 클릭했을 경우 현재보고 있는 URL값이 우리앱으로 전달이 됩니다. 이때 전달된 정보(URL)을 우리앱에서

    활용하는 방법을 알아봅시다.

    2-1. MainActivity.java 파일을 편집모드로 엽니다.

    2-2. onCreate 클래스 안에 아래 소스 입력

    // 인텐트를 얻어오고, 액션과 MIME 타입을 가져온다

    Intent intent = getIntent();

    String action = intent.getAction();

    String type = intent.getType();


    // 인텐트 정보가 있는 경우 실행

    if (Intent.ACTION_SEND.equals(action) && type != null) {

    if ("text/plain".equals(type)) {

    String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);    // 가져온 인텐트의 텍스트 정보

                    new AlertDialog.Builder(this)

                        .setTitle("WISHROOM")

                        .setMessage(sharedText )

                        .setPositiveButton(android.R.string.ok,null)

                        .setCancelable(false)

                        .create()

                        .show();

    }

    }

    2-3. 짠!! 크롬에서 공유기능으로 우리 앱을 실행하면 경고창으로 크롬에서 전달된 URL을 보여주는 소스로 구성하였습니다.

    다르게 사용하실분은 if 문안의 내용을 자유롭게 변경하시면됩니다.



    * 크롬이 아닌 이미지들을 공유하는 앱에서 이미지등을 전달받아 활용할 수도 있으니 이미지 데이터 활용법이 궁금하시면 아래 참고 URL 을 참고해주세요. 본 포스팅에서는 이미지 사용은 다루지않습니다.



    참고 URL : 

    http://www.codeflow.co.kr/question/850/%EC%BB%A8%ED%85%90%EC%B8%A0%EB%A5%BC-%EB%8B%A4%EB%A5%B8-%EC%95%B1%EB%93%A4%EC%97%90%EA%B2%8C-%EB%B3%B4%EB%82%B4%EA%B8%B0/


    http://developer.android.com/guide/components/intents-filters.html#ifs


    댓글

Designed by Tistory.