我一直在尝试为我的Android应用程序实现自定义文件格式,但到目前为止我只是部分成功。
我在清单文件中添加了这个:
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.irp" />
<data android:host="*" />
</intent-filter>
</activity>
当我点击Dropbox,Google云端硬盘或Astro文件管理器中的something.irp文件时,我的应用程序会打开,我会按预期通过Intent获取该文件。
如果我通过电子邮件发送something.irb文件并尝试在Gmail应用或Android电子邮件应用中打开它,我会收到“没有应用可以打开此附件”错误,如果我选择保存附件的选项并尝试从下载应用程序中打开已保存的文件,该文件也因“无法打开文件”错误而失败。
为什么有些应用会识别我的自定义文件格式,而其他应用却没有?是否还有其他东西需要添加到我的清单文件或其他方式向系统广播有关我的自定义文件格式的信息?
我使用相同的结果测试了这个Android 4.4和5.0