как установить собственный тип MIME файла - PullRequest
4 голосов
/ 16 ноября 2011

после десятков вопросов о том, как связать пользовательский файл с моим приложением, я должен задать окончательный вопрос: Как добавить MIME-тип, используя FileOutputStream ?

Я постараюсь объяснить: мое приложение записывает файлы "lorenzoff", оно ложное, но, скажем, без каких-либо расширений. Я знаю, что Android использует тип MIME, и все в порядке, я понял это и добавил этот интент-фильтр в свой манифест

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:host="" android:scheme="file" android:mimeType="application/wtf" />
</intent-filter>

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

DataOutputStream os = new DataOutputStream(new FileOutputStream("lorenzoff"));
os.writeInt(1);
os.writeInt(2);
os.writeInt(3);
os.close();

Проверяя вновь созданный файл с помощью приложения для просмотра файловой системы (Astro), я вижу, что у него нет mime-типа, и мы прибыли, я не могу ПРОСМОТР его моим приложением ассоциация).

Вопрос: как написать mime-тип, чтобы я мог прочитать «application / wtf», проверяя свойства файла?

Заранее спасибо

1 Ответ

3 голосов
/ 17 ноября 2011

Боюсь, вы совершенно не понимаете, что такое MIME-тип. Вы не должны записывать MIME-тип в файл. MIME описывает только тип контента (например, файл)

Когда файловый браузер пытается открыть файл (отправить намерение в Android), тип файла определяется его расширением, а не содержимым.

После определения браузер запустит соответствующее намерение. Файловые браузеры обычно могут обрабатывать стандартные типы пантомимы, такие как изображения, видео, аудио, текст или PDF.

...