2012-11-24 3 views
6
내가 pick 활동에 문제가

, 난이 팝업 있습니다. 이것은 코드는 내가 사용 : 당신은 나머지는 여전히 동일안드로이드 pick 활동 텍스트 색상

Intent pickIntent = new Intent(Intent.ACTION_CHOOSER); 

사용할 필요가

:

Bundle bundle = new Bundle(); 
    ArrayList<String> shortcutNames = new ArrayList<String>(); 
    shortcutNames.add(getString(R.string.group_applications)); 
    bundle.putStringArrayList(Intent.EXTRA_SHORTCUT_NAME, shortcutNames); 

    ArrayList<ShortcutIconResource> shortcutIcons = new ArrayList<ShortcutIconResource>(); 
    shortcutIcons.add(ShortcutIconResource.fromContext(this, 
      R.drawable.ic_launcher)); 
    bundle.putParcelableArrayList(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, shortcutIcons); 

    Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY); 
    pickIntent.putExtra(Intent.EXTRA_INTENT, new Intent(Intent.ACTION_CREATE_SHORTCUT)); 
    pickIntent.putExtra(Intent.EXTRA_TITLE, getText(R.string.app_name)); 
    pickIntent.putExtras(bundle); 

    startActivityForResult(pickIntent, 1); 
+2

Android 4.2에서 동일한 문제가 있습니다. 직접 작성한 목록을 작성합니다. PackageManager.queryIntentActivities()에서 항목을 가져올 수 있습니다. Android 구현의 경우 여기를 참조하십시오. https://github.com/android/platform_packages_apps_settings/blob/master/src/com/android/settings/ActivityPicker.java – Alex

+0

예, 여전히 4.2.1에서 깨졌습니다. – soundmaven

+0

감사합니다 !!! 내 대화 상자를 구현합니다 – jaumard

답변

0

내가 마지막으로 솔루션을 얻었다. 이 코드는 Holo 대화 상자를 제공합니다.

+0

실제로 활동을 시작하기 전에 선택한 활동으로 무엇인가를해야하는 경우 활동의 패키지에 대한 사용 권한을 부여하는 것과 같이 사용하면 'Intent.FLAG_GRANT_READ_URI_PERMISSION'의 의도는 활동이 전자 메일 등의 첨부 파일과 같이 수명주기를 초과하는 URI를 유지할 때 문제를 일으킬 수 있으며, Jelly Bean 이전에는 저장된 URI에 대해 작동하지 않습니다 어쨌든 엑스트라에서). – JAB