IT이야기/Android

[Android개발] 앱 시작시키는 방법

FelixShin 2016. 3. 28. 02:08
반응형




안드로이드 앱 개발을 하며, 다른 앱을 시작시키는데 크게 두 가지 방법이 있다.


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());
}
}