Цель: Я хочу открыть выбор намерения, чтобы показать только собственное приложение для камеры и приложение собственной галереи.Как вы можете ограничить выбор намерений только конкретными приложениями?
То, что я прямо сейчас: У меня есть родной приложение камеры, родное приложение Галерея и все другие приложения, которые могут открывать файлы (Астрос менеджер файлов, фотографий приложение ... и т.д.)
Итак, там чего-то не хватает? так что это поможет ограничить выбор моих намерений только показом только тех приложений, которые мне нужны? (Только для галереи и камеры)?
Благодарим за внимание и будем благодарны за любые замечания или предложения.
Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT,null);
galleryIntent.setType("image/*");
galleryIntent.setClassName("com.google.android.gallery3d", "com.android.gallery3d.app.Gallery");
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
Intent chooser = new Intent(Intent.ACTION_CHOOSER);
chooser.putExtra(Intent.EXTRA_INTENT, galleryIntent);
chooser.putExtra(Intent.EXTRA_TITLE, "Select a Photo");
Intent[] intentArray = {cameraIntent};
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
startActivityForResult(chooser,CAMERA_CODE);
Не думайте, что вы можете достичь этого любым способом, кроме пакетов жесткого кодирования приложений, которые должны отображаться в вашем выборе. Но эти пакеты могут различаться в разных системах - я имею в виду, что приложения для галереи по умолчанию не будут иметь одинаковые пакеты в необработанных Android и Cyanogenmod, например. Поэтому лучше оставить все приложения по выбору пользователя – Sam
@ SamN-a Я жестко запрограммировал название галереи Intent, но все еще показывал все приложения (галерея, фотографии, astro..etc). – xiaowoo
Пожалуйста, разрешите пользователю использовать любые приложения, которые пользователь хочет. Если пользователь ненавидит свое приложение камеры по умолчанию и хочет использовать любой из доступных сторонних, это выбор пользователя, а не ваш. Если пользователь хочет использовать приложение в стиле галереи, которое интегрируется с предпочтительной социальной сетью, это выбор пользователя, а не ваш. Вы не важнее, чем ваши пользователи. – CommonsWare