팝업을 띄우기 위해서
서로 다른 패키지에 있는 activity 를 실행하고자 합니다.
framework 안에서 package 안에 있는 activity 를 호출하려고 합니다.
public void show_menu()
{
Intent mIntent = new Intent(Intent.ACTION_MAIN);
mIntent.setClassName("com.abc.settings", "com.abc.settings.popup");
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mIntent.putExtra("cancelable", "false");
log(" ===== before startActivity " );
phone.getContext().startActivity(mIntent);
log(" ===== After startActivity " );
}
logcat 찍어보면,
===== before startActivity 찍고 ANR 팝업 뜨면서 죽습니다.
log 에,
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.abc.settings/com.abc.settings.popup}; have you declared this activity in your AndroidManifest.xml?
이라고 뜹니다만,
com.abc.settings.popup 의 AndroidManifest.xml 에는 activity 를 추가해주었거든요.
그런데도 액티비티를 추가해주라고 하는것으로 보아
왠지 framework 에서 package 에 있는 com.abc.settings 를 못찾는거 같습니다.
아니면 혹은 sendbroadcast 로 intent 를 날려야하나요?
알려주세요!




이걸
mIntent.setClassName("com.abc.settings", ".popup"); 으로 바꿔서 한번 해보시죠.