본문 바로가기

Computer Science/Android

현재 앱에서 다른 앱 실행

어쩌다보니 현재 앱에서 다른 앱 실행 하는 기능을 쓰게 되었는데

그냥 다른앱 실행하는 방법은 매우 간단하였다.

 Intent intent = this.getPackageManager().getLaunchIntentForPackage(packageName);

 intent.setAction(Intent.ACTION_MAIN);

startActivity(intent);

혹은

ComponentName compName = new ComponentName(패키지,패키지.액티비티명);
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    intent.setComponent(compName);
     

해당 방법으로 실행하면 런처로 설정된 메인 엑티비티가 실행이 된다......

 

근데 내가 실행 하고 싶은 액티비티는 다른 액티비티라면????

이부분에서 검색을 하고 검색을 하고 검색을 해도 ㅠㅠ 안나오다가 겨우 찾았다.

일단 실행하고 싶은 앱의 메니페스트에 해당 액티비티 안에 인텐트필터를 생성해준다

          <action android:name="com.example.test.T" />
          <category android:name="android.intent.category.DEFAULT"/>

내 맘대로 액션의 이름을 정해주고

Intent intent=new Intent(액션의 이름);
startActivity(intent);

하면 끝..............................................

 

간단한건데 ㅠㅠ  이걸 몰라서 너무 시간낭비했다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

plus) 한가지 더......

위에 패키지명을 이용한 방법을 쓰고 싶으면 ㅠㅠ  메니페스트에서 해당 액티비티에 exported 를 true 해주면 됨...

'Computer Science > Android' 카테고리의 다른 글

Activity 애니메이션 적용  (0) 2013.10.25
비트맵 <-> byte 변환, 이미지뷰->비트맵  (0) 2013.03.11
시간을 가져와봅시다  (0) 2013.01.10
이번엔 쓰레드 입니다  (0) 2012.08.28
[펌] custom ratingbar  (0) 2012.07.25