기본 콘텐츠로 건너뛰기

[android] url scheme 사용하기 (웹에서 앱 호출 및 앱에서 앱 호출)

[호출될 앱]
다른 앱이나 웹에서 호출될 앱의 AndroidManifest.xml 파일을 열어 원하는 activity에 아래와 같이 빨간 부분을 추가 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<activity
            android:name=".testUrlScheme"
            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.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:host="호스트이름" android:scheme="스키마이름" />
            </intent-filter>
        </activity>

[testUrlScheme.java]
1
2
3
4
5
6
7
8
if(getIntent()!=null){
        Uri uri = getIntent().getData();
        if(uri != null)
        { 
            String param1 = uri.getQueryParameter("param1");
            String param2 = uri.getQueryParameter("param2");
        }
}


[앱에서 호출]
1
2
3
4
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setdata(Uri.parse("스키마://호스트?param1=test&param2=test2"));
startActivity(intent);


[웹에서 호출]
<a href="스키마://호스트?param1=test&param2=test2"> urlscheme </a>


[앱이 다시실행 될 때 호출]
1
2
3
4
5
6
7
8
@Override
    protected void onNewIntent(Intent intent) {
        // TODO Auto-generated method stub
        super.onNewIntent(intent);
        if(intent!=null){
            Uri uri = intent.getData();
        }
    }

댓글

  1. This is an awesome motivating article.I am practically satisfied with your great work.You put truly extremely supportive data. Keep it up. Continue blogging. Hoping to perusing your next post

    state employee cashless treatment scheme

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

[android] viewPager setOffscreenPageLimit 미리 로딩하기

viewpager를 사용할 때 이전 혹은 다음페이지를 몇개까지 미리 로딩할지 정하는 함수이다. 전체 5page가 있는데 현재 1page를 보고 있다고 가정했을 때  2, 3, 4, 5페이지를 모두 미리 로딩하고 싶다면 setOffscreenPageLimit(4)를 사용하면 된다. 따로 setOffscreenPageLimit 를 지정하지 않았을 경우, default값은 1이다. 다음과 같이 적용가능 하다. Colored By Color Scripter ™ 1 2 3 ViewPager mViewPager = (ViewPager) findViewById(R.id.pager);         mViewPager.setAdapter(storePagerAdapter);          mViewPager.setOffscreenPageLimit(4) ;

[android] textview 옆에 image 추가하기.

xml페이지에 다음과 같이 구현 android:drawableLeft  : 텍스트 왼쪽에 이미지 추가. android:drawableRight : 텍스트 오른쪽에 이미지 추가. Left, Right 외에도 top, bottom, start, end가 있다. android:drawablePadding : 이미지의 공간 (텍스트와 이미지 사이의 간격을 띄울 때 주로 사용.) <TextView           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:text="오른쪽에 마크"           android:drawableRight="@drawable/mark"           android:drawablePadding="10dp" />