두 가지 일반 동작을 처리하기 위해 클래스 BaseActivity
을 작성하려고합니다.안드로이드에서 홈 액티비티를 시작하는 방법
그 중 하나는 응용 프로그램 아이콘을 클릭하여 첫 번째 활동으로 재 도입하는 것입니다. 이것은 간단하게 들리지만이 BaseActivity
은 도서관 프로젝트에 포함됩니다. 명시적인 의도 (클래스에 의해 정의 됨)를 사용할 수 없습니다. 내가 ActivityNotFoundException
를 얻고 있다는
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// app icon in action bar clicked: go back home
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setPackage(getPackageName());
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
내 문제는 내가 그 이유를 이해하지 못하는 대신 나는 일반적인 의도를 사용하는 것을 시도하고있다.
어떻게해야합니까?
액티비티를 설정하지 않은 것 같습니다. 패키지를 설정하지 않으면 패키지 – zapl
@zapl 만 표시됩니다. 그러면 모든 애플리케이션이 의도 해결의 후보가 될 수 있습니다. 어떻게 든 내 애플 리케이션을위한 필터를 추가해야합니다. – rds