ファイル拡張子(例:.abc)を登録してアプリケーションを開く際に問題があります。ファイル拡張子をインテントフィルタとしてアプリケーションに登録する
現在、私のマニフェストが含まれています。このコードで
<activity
android:name=".view.MainActivity"
android:label="@string/app_name"
[...] >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:host="*" />
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.abc" />
</intent-filter>
</activity>
を私は自分のアプリケーションで、「ESファイルエクスプローラ」から.abcファイルを開くことができるんだけど、私は私のデバイスから、標準のファイルブラウザを使用する場合(LG G3)を使用するか、ホーム画面からファイルショートカットを使用すると、AndroidはGoogle Docsのpdfビューアで.abcファイルを開こうとします。
また、BROWSABLE、ALTERNATIVE、SELECTED_ALTERNATIVEのカテゴリでさまざまなバリエーションを試しました。
なぜAndroidはさまざまなインテントを実行するのですか。アプリケーションでいつでも.abcファイルを開くことができますか?
お手数ですが、 あなたのお時間をいただきありがとうございます。
ファイルを開こうとしましたが、pdfファイルがないために失敗します。この設定が設定されているようですので、私はGoogle Docsアプリをリセットします。まだpdfビューアで.abcを開こうとしています。 – lost1994
興味深いのは、ファイル名を.bcd(別の拡張機能を試しました)に変更すると、AndroidはまだPDFビューアで開こうとしています。 LogCatのActivityManagerからのメッセージは、「START u0 {act = android.intent.action.VIEW dat = file:///storage/emulated/0/APPLICATIONDIR/FILENAME.bcd flg = 0x10000000 cmp = com.google.android.apps」です。 .docs/com.google.android.apps.viewer.PdfViewerActivity bnds = [0,850] [288,1220]}ディスプレイ0のuid 10029から – lost1994
インテントチューザを使用してインテントを作成しようとする= Intent.createChooser(intent、title); startActivity(選択子);特定のインテントを処理できるアプリのリストが表示されます。あなたのアプリがそのリストに表示されている場合、あなたはそれが正しく機能していることを知っています – Anonymous