그냥 다른앱 실행하는 방법은 매우 간단하였다.
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);
이렇게 넣었는데도 메인액티비티로만 이동되었다.
그래서 할 수 없이
Intent intent = this.getPackageManager().getLaunchIntentForPackage(packageName);
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);
위처럼 자바단을 수정하고
호출할 앱 메니페스트 호출할 액티비티단에 android:exported ="true"를 추가해주니 원하는 액티비티로 호출이 가능했다.