특정 MIME 유형에 기본 앱을 설정해야합니다. 나는 기본값을 지우는 법을 알고 있지만, 실제로 앱을 열지 않고도 사용자에게 알릴 필요가있다.실제로 활동을 열지 않고도 기본 활동을 묻습니다.
PackageManager p = mContext.getPackageManager();
ComponentName cN = new ComponentName(mContext, FakeDownloadActivity.class);
p.setComponentEnabledSetting(cN, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
Intent selector = new Intent(Intent.ACTION_DEFAULT);
selector.addCategory(Intent.CATEGORY_DEFAULT);
selector.setType(mimeType);
mContext.startActivity(selector);
p.setComponentEnabledSetting(cN, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
위의 코드는 기본 활동 만 선택하는 것이 아니라 활동을 시작합니다. 가짜 활동을 활성화 한 다음 작동을 중지하면 작동합니다. 그러면 Select Default App 대화 상자가 다음에 호출 될 때 표시됩니다. 간단히 기본 활동 만 선택하기 만하면됩니다.
따옴표 : 나쁜면은 사용자가 다음에 어떤 작업을 수행 할 때 어떤 앱을 실행할지 결정하는 것과 같은 내적인 목적으로 만 정보를 저장할 수 있다는 것입니다. 피하기 위해 노력하고 있습니다. 솔루션은 주어진 인 텐트에 대한 Android의 시스템 설정을 설정해야합니다. – Randy
안드로이드 팀이 appentent to change를 결정했기 때문에 Froyo에서 그 기능을 사용하지 않기로 결정했기 때문에 앱을 열지 않고도 그렇게 할 수는 없을 것입니다. 기본값을 사용하여 수행해야합니다. 시스템에 의해 생성 및 실행기가 생성됩니다. 적어도 이것으로 사용자가 앱을 선택하고 어떤 앱이 선택되었는지 알 수있는 대화 상자가 있습니다.내가 생각해내는 것이 최선이다. 나는 두려워 아무것도 할 수 없다. –
그건 내가 의심하는 것이지만 그 노력에 감사드립니다. – Randy