0

Android Service または BroadcastReceiver がカスタム ファイルを検出できるように、カスタム MIME を追加したいと考えています。カスタム MIME タイプを追加する方法などの質問に対する回答を見てきました。カスタム MIME タイプを追加する方法

ここでの回答は、アクティビティに対して表示されます。しかし、サービスまたは BroadcastReceiver に必要な変更は何ですか? 同じコードを試してみましたが、うまくいきませんでした。私はアンドロイド開発が初めてです。親切で詳細な説明を歓迎します。出来ますか?どこが間違っているのですか。

私が使用したコードは次のとおりです。

   <service android:name="XcardReceivedService"
        android:exported="true"
        android:enabled="true">


           <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=".*\\.Xcard" />
                    <data android:host="*" />
</intent-filter>


      </service>
4

1 に答える 1

1

しかし、アクティビティが開始される前に、そのファイルからデータベースにデータを追加したい

アクティビティではそれを行う必要があります。

またはその目的で、サービスまたは放送受信機を書きたかったのです。

ファイルは、サービスまたはブロードキャスト レシーバーに対して開かれません。

他に可能な方法はありますか?

コードをアクティビティに入れます。

他のアクティビティから、またはユーザーがこのファイルをクリックしたときに、「アクティビティが開始された方法」をどのように区別する必要がありますか。

Intentアクティビティの開始に使用された を調べます。Intent経由でこれを取得しgetIntent()ます。を呼び出しgetData()て、関連付けられたIntentを取得できます。Uriこれが でない場合はnull、ファイルへのパスである必要があります。

于 2013-05-09T16:52:06.047 に答える