2017-08-05 20 views
1

私は、ユーザがデータをバックアップできるようにするアプリケーションを持っており、ファイルマネージャ、GMailなどを介してバックアップファイルをクリックできるようにしたい。ダウンロードシステムアプリ。Android:ファイル拡張子インテントフィルタがGMail /ダウンロードアプリで正しく動作しない

私は、ファイルマネージャからではなく、Gmailやダウンロードのリストから.sbuファイルをクリックした場合、私は、上記の作品...

 <intent-filter 
      android:label="Simple Backup File" 
      android:priority="999" > 

      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <category android:name="android.intent.category.OPENABLE" /> 

      <data 
       android:scheme="http" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="https" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="ftp" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="ftps" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="content" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="file" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 
     </intent-filter> 

を私のマニフェストファイルに次の意図を定義しています。私は、コンテンツ・スキームを稼働させるためにmimeTypeが必要だと読んだのですが、mimeTypeを*/*またはapplication/octet-streamとして定義すると、ファイル・マネージャー内で機能が停止することさえあります。

私は間違って何をしていますか?初めてファイルを書き込むときに設定する必要はありますか?あなたは私の状況にどのように最善を尽くすでしょう。

答えて

0

私はそれが両方ともmime-typeのapplication/octet-streamを持つファイルデータスキームとともにコンテンツを独自のインテントフィルタグループに入れて動作させました。

 <intent-filter android:priority="999" > 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <category android:name="android.intent.category.OPENABLE" /> 

      <data 
       android:scheme="http" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="https" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="ftp" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="ftps" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="file" 
       android:host="*" 
       android:pathPattern=".*\\.sbu" /> 
     </intent-filter> 

     <intent-filter android:priority="999" > 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <category android:name="android.intent.category.OPENABLE" /> 

      <data 
       android:scheme="file" 
       android:mimeType="application/octet-stream" 
       android:pathPattern=".*\\.sbu" /> 

      <data 
       android:scheme="content" 
       android:mimeType="application/octet-stream" 
       android:pathPattern=".*\\.sbu" /> 
     </intent-filter> 
+0

これは、すべてのファイル添付ファイルを開きます。 sbuだけでなくabc、xyzなどGmailのファイル拡張子をフィルタリングする方法を理解できません。 –

関連する問題