我想註冊一個新的文件擴展名(.db_backup),以便與此擴展與我的應用程序打開的所有文件。關聯的新文件,Android應用
基本上,這類型的文件備份到電子郵件作爲附件。在打開附件時,我希望所有這種類型的文件都可以直接用我的應用程序打開。
我成功地通過提了Android這樣做:mime類型=應用程序/ *
但現在我的應用也開放所有的應用程序(PDF,APK)(這是顯而易見的,因爲*被提及)。請告訴我什麼android:mimeType我應該在清單中提到?我給出了AndroidManifest.xml文件:
<activity
android:name="com.package.RestoreFromMail"
android:configChanges="keyboardHidden|orientation"
android:label="@string/restore_mail" >
<intent-filter android:priority="1" >
<category android:name="android.intent.category.DEFAULT" >
</category>
<action android:name="android.intent.action.VIEW" >
</action>
<data
android:host="*"
android:pathPattern=".*\\.db_backup"
android:scheme="http" >
</data>
</intent-filter>
<intent-filter android:priority="1" >
<category android:name="android.intent.category.DEFAULT" >
</category>
<action android:name="android.intent.action.VIEW" >
</action>
<data
android:host="*"
android:pathPattern=".*\\.db_backup"
android:scheme="file" >
</data>
</intent-filter>
<intent-filter android:priority="1" >
<category android:name="android.intent.category.DEFAULT" >
</category>
<action android:name="android.intent.action.VIEW" >
</action>
<data
android:host="*"
android:mimeType="application/*" >
</data>
</intent-filter>
</activity>
你解決這個問題?它是你的最後一個意圖過濾器,沒有將它與一切聯繫起來的方案。一直試圖讓自己工作。問題是沒有這個協會不從郵件和谷歌驅動器工作。我試着添加android:pathPattern,但似乎忽略它。 –
是的,刪除最後一個意圖過濾器不允許從郵件打開任何文件。仍在嘗試解決它。您可以試試這個:將擴展名更改爲.db,並將android:mimeType更改爲上一個intent-filter中的application/octet-stream。希望這會有所幫助! – varun
我今天取得了一些進展。你可以通過添加android:scheme =「content」來縮小你的最後一個過濾器。這樣至少不是所有的文件都將從文件管理器和其他應用程序關聯。對於文件和http,如果有多個「」,則需要添加更多的pathPattern。「在路徑 –