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