반응형
안드로이드 앱 개발을 하며, 다른 앱을 시작시키는데 크게 두 가지 방법이 있다.
1. 다른 어플리케이션을 액션명으로 앱 시작하기
2. 패키지명으로 앱 시작하기
1. 액션명으로 시작하는 방법은 아래와 같다.
-> 일반적으로 쓰이는 방식으로, 해당 앱에 아래와 같은 android.Player(예시) 액션명이 날라올때 앱이 시작하게끔 개발이 되어야 한다.
private void startNextAppWithActionName(String ActionName) {
String processName = appIntentActionName;
String intentName = "android.Player"
LogWrapper.d(managerTag + ".startNextAppWithActionName", "name:" + appIntentActionName);
Intent appIntent = new Intent(intentName);
appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
context.startActivity(appIntent);
} catch (ActivityNotFoundException ex) {
LogWrapper.e(managerTag + ".StartProgramPlayer", ex.getMessage());
}
}
2. 패키지명으로 시작하는 방법은 아래와 같다.
public void startNextAppWithPackageName(String packageName) {
LogWrapper.d(managerTag + ".startNextAppWithPackageName", "package name: " + packageName);
try {
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
if(launchIntent==null){
LogWrapper.e(managerTag + ".startNextAppWithPackageName", "launchIntent does not exist");
makeButtonsOnAgent();
return;
}
if(context==null){
return;
}
context.startActivity(launchIntent);
} catch (ActivityNotFoundException ane) {
LogWrapper.d(managerTag + ".startNextAppWithPackageName", ane.getMessage());
}
}
'IT이야기 > Android' 카테고리의 다른 글
no resource identifier found for attribute 'srcCompat' in package (0) | 2016.10.03 |
---|---|
jcenter 경로 오류 : Failed to resolve : Error:(23, 17) junit:junit:4.12 in android studio 2.2 (1) | 2016.09.29 |
[안드로이드]다운로드매니저 애러 잡기 (0) | 2016.03.02 |
onTouchListener와 onClickListener 구현 차이(서비스에서 보이지 않는 버튼 구현하기)와 이벤트 리스너들 (2) | 2015.12.17 |
[MAC/Windows] 안드로이드 스튜디오 1.4 테마 바꾸기 (3) | 2015.12.04 |