запуск приложения по расширению файла

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

запуск приложения по расширению файла

Сообщение math64 » 08 мар 2016, 13:47

Возможно, этот вопрос здесь уже задавался.
1. Как зарегистрировать свое приложение, чтобы например, в TotalCommander'е его можно было запустить выбрав файл.
1а. Узнать имя файла с которым запущено приложение, отличить от обычного старта.
2. Определить какие еще есть приложения для работы с этим файлом и получить их иконки и названия, исключив себя.
3. Запустить выбранное приложение с выбранным файлом.

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: запуск приложения по расширению файла

Сообщение math64 » 14 мар 2016, 16:34

По 2-3
http://stackoverflow.com/questions/3220 ... atechooser
последний ответ позволит узнать какое приложение было запущено
а при повторном запуске можно запускать конкретно его без диалога выбора.
По 1. Добавляем в манифест:

Код: Выделить всё

            <intent-filter>
                <action android:name="android.intent.action.EDIT"/>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="file"/>
                <data android:pathPattern=".*\\.txt"/>
                <data android:pathPattern=".*\\.html?"/>
            </intent-filter>
и делаем Uri data = getIntent().getData(); if (data != NULL) filename = data.getPath(); в onCreate();
Но без <action android:name="android.intent.action.VIEW"/> почему-то не работает.

Ответить