반응형
안드로이드에서 Settings에 기본으로 설정된 Launcher를 해제하는 부분이 있습니다.
이 부분까지 코드를 타고 내려가보니 해제를 할 때, 단 한줄의 코드만으로 해결을 하고 있었습니다.
InstalledAppDetails.java
mPm은 PackageManager의 인스턴스입니다. clearPackagePreferredActivities() 메소드에 packageName을 넘겨주면 해제를 해주는 것 같네요.
아직 소스만 따라가보고, 동작은 확인해보지 않았습니다.
만약 이글을 읽은 사람이 있다면, 테스트 결과를 댓글로 달아주었으면 합니다.
이 부분까지 코드를 타고 내려가보니 해제를 할 때, 단 한줄의 코드만으로 해결을 하고 있었습니다.
InstalledAppDetails.java
public void onClick(View v) {
String packageName = mAppInfo.packageName;
if(v == mUninstallButton) {
if (mUpdatedSysApp) {
showDialogInner(DLG_FACTORY_RESET);
} else {
uninstallPkg(packageName);
}
} else if(v == mActivitiesButton) {
mPm.clearPackagePreferredActivities(packageName);
mActivitiesButton.setEnabled(false);
} else if(v == mClearDataButton) {
if (mAppInfo.manageSpaceActivityName != null) {
Intent intent = new Intent(Intent.ACTION_DEFAULT);
intent.setClassName(mAppInfo.packageName, mAppInfo.manageSpaceActivityName);
startActivityForResult(intent, -1);
} else {
showDialogInner(DLG_CLEAR_DATA);
}
}
.............
}
String packageName = mAppInfo.packageName;
if(v == mUninstallButton) {
if (mUpdatedSysApp) {
showDialogInner(DLG_FACTORY_RESET);
} else {
uninstallPkg(packageName);
}
} else if(v == mActivitiesButton) {
mPm.clearPackagePreferredActivities(packageName);
mActivitiesButton.setEnabled(false);
} else if(v == mClearDataButton) {
if (mAppInfo.manageSpaceActivityName != null) {
Intent intent = new Intent(Intent.ACTION_DEFAULT);
intent.setClassName(mAppInfo.packageName, mAppInfo.manageSpaceActivityName);
startActivityForResult(intent, -1);
} else {
showDialogInner(DLG_CLEAR_DATA);
}
}
.............
}
mPm은 PackageManager의 인스턴스입니다. clearPackagePreferredActivities() 메소드에 packageName을 넘겨주면 해제를 해주는 것 같네요.
아직 소스만 따라가보고, 동작은 확인해보지 않았습니다.
만약 이글을 읽은 사람이 있다면, 테스트 결과를 댓글로 달아주었으면 합니다.
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] repo 다운로드 받기 (3) | 2011.09.25 |
---|---|
[안드로이드] 파일복사 어떻게 해야 빨라질까? (1) | 2011.09.22 |
[안드로이드] 윈도우 백그라운드 & UI 속도 (번역) (0) | 2011.09.11 |
[안드로이드] 죽어도 다시 살아나는 서비스 (0) | 2011.09.10 |
[안드로이드] Runnable 생성&호출 성능 비교 (0) | 2011.09.07 |
[안드로이드] SMS 발신자 변경 (SMS 와 PDU format) (0) | 2011.09.06 |
[안드로이드] Dialog의 화면 외부가 어두어지는(검은색 반투명) 동작 없애기 (0) | 2011.09.05 |
[안드로이드] 전화번호 포맷에 맞게 변환하기 (0) | 2011.09.02 |
[안드로이드] /dev 디렉토리 권한 설정 (0) | 2011.09.01 |
[안드로이드] ListView의 Selector에 관해서... (0) | 2011.08.31 |