4

基本的に暗号化されたxmlファイルであるカスタムファイル拡張子のファイルを電子メールで送信するアプリがあります。私のアプリにはこれらを開くためのインテントフィルターがあり、特定の電話(Samsung Galazy S Mesmerize)で動作しますが、他の電話(Electrify、Thunderboltなど)でカスタムファイル拡張子の付いた添付ファイルを開こうとすると、そのファイルを開くことができるものは何もありません。(ところで、しようとしている電話には私のアプリがインストールされています)。

これが私のインテントフィルターです:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:scheme="file" />
  <data android:mimeType="*/*" />
  <data android:pathPattern=".*\\.tgtp" />   
  <data android:host="*" />
</intent-filter>

アプリがインストールされているときに、すべてのAndroidフォンがカスタムファイル拡張子を開くことができるようにするためにできることはありますか?

ありがとう

4

2 に答える 2

5

他のデバイスでファイルが配置されているパスによって異なると思います。pathPatternインテントフィルターの属性は、ファイルのフルパスに非常に敏感であることがわかりました。

同様の質問については、次の回答をご覧ください: https ://stackoverflow.com/a/7102838/624109

pathPattern基本的に、ファイルの場所をキャプチャする可能性が最も高いいくつかの属性が必要です。

もう1つは、ローカルファイルを使用する場合でも、port属性が必要だと思います。

これらの2つの変更は、何時間も掘り下げた後、私にとってそれが機能した理由です。

于 2012-05-10T15:29:13.933 に答える
0

開発者向けのドキュメントには同じだと書かれていますが、そうではないと思います。

すべての<data...>属性を同じ要素に配置するようにしてください。つまり、<data>は1つだけです。

他のURIまたはMIMEタイプでフィルターを広げるためだけに、複数の<data>を用意してください。

于 2013-05-09T17:28:16.863 に答える