Сделайте приложение по умолчанию для открытия определенного файла

Как заставить приложение Android использовать приложение по умолчанию для открытия определенного типа файла?

Я попытался очистить значения по умолчанию, но опция greyed out, кто-нибудь знает, как это сделать?

Я хочу открыть свое приложение с моими файлами something.whatever в android.

Ответ 1

Вы не можете заставить это, и вы не сможете этого сделать. Что вы можете сделать, так это то, что ваше приложение может открыть файл. Пользователь получает стандартное диалоговое окно "какая программа вы хотите использовать", и пользователь может выбрать что-то по умолчанию. Если пользователь уже выбрал значение по умолчанию, ему необходимо отменить это до появления диалогового окна (очевидно, в противном случае значение по умолчанию не имело бы большого эффекта, не так ли?)

Вы можете сказать миру (aka: android), что вы хотите открыть определенный тип файла, добавив фильтр намерений. В основном вы делаете в своем манифесте, что активность в вашем приложении знает, как обрабатывать тип файла (или веб-сайт/протокол и т.д.). Это довольно легко найти, случайный вопрос здесь о SO по той же проблеме: Фильтр намерений Android для определенного расширения файла?

Ответ 3

В Android как связать файл с другой программой.

Я использую "Droid Maxx" с версией Android 4.4.4

Как сделать something.html открытый файл с файловым редактором вместо светлячок после того как вы свяжете Firefox, чтобы всегда быть связано с *.html файлов.

Вы должны очистить настройки по умолчанию для приложения, связанного с типом файла.

Сделай это

  1. Перейдите в настройки". Это в списке приложений.
  2. В разделе "Устройство" нажмите "Приложения".
  3. Прокрутите вниз и нажмите Firefox.
  4. Под записью "Запуск по умолчанию" нажмите "Очистить настройки по умолчанию".
  5. Снова откройте ваш something.html.

Еще раз вам предоставляется выбор, с какой программой вы хотите открыть этот файл.

Если вы хотите связать и разобщить типы файлов с приложениями по отдельности:

Существует стороннее приложение под названием: Default App Manager Lite:

https://play.google.com/store/apps/details?id=com.appiator.defaultappmanager

Затем вы можете запустить программу и индивидуально управлять типом файла → сопоставлениями приложений.

Ответ 4

Я думаю, что в андроиде каждое приложение/действие должно иметь некоторые намеренные действия и категории в файле манифеста. В настройках этого намерения вы должны сделать свое приложение по умолчанию.

Даже вы записываете дефолт в манифест, если любые другие приложения, найденные с одинаковыми настройками намерений, система Android будет отображать все приложения с одинаковыми настройками. пользователь должен выбрать один из них, только он предоставляет один флажок, чтобы сделать одно приложение по умолчанию в следующий раз. Если пользователь не проверял, список будет отображаться каждый раз, когда пользователь открывает файл.

Я надеюсь, что это может вам помочь.

Ответ 5

Попробуй это

Intent i = new Intent();        
   i.setAction(android.content.Intent.ACTION_VIEW);
   i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   i.setDataAndType(Uri.parse("file://"+path), 
       "application/vnd.android.package-archive");
   startActivity(i);

Переменная пути - это ваш путь.