2011-09-09 14 views
0

アプリケーションAにコンテンツプロバイダとCONTENT_URIがあり、それもマニフェストにある場合。アプリケーションBからどのように呼び出すことができますか?コンテンツプロバイダへのアクセス

sqliteデータベースを保持するクラスにコードを記述する必要はありますか?あるいは、全く新しいクラスを作り、そこからプロバイダーに電話する必要がありますか?

Thanx事前に。

+0

**重複する可能性があります** http://stackoverflow.com/questions/7348900/help-with-content-provider –

答えて

0

アクティビティBを登録して、その性質に応じてURIを受け入れることができます。

は、そのためには、これは、その数学MIMEタイプをURIを持つVIEWアクションを受け入れるために活動Bを登録しますAndroidManifest.xmlを

<activity android:name="ACTIVITY B PATH"> 
     <intent-filter> 
       <action android:name="android.intent.action.VIEW" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <data android:mimeType="THE MIME TYPE TO ACCEPT" /> 
     </intent-filter> 
    </activity> 

にアクティビティBを次のように「インテントフィルタ」セクションを追加します。その後

、活動Aは、次のコードを実行されます。

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse(CONTENT_URI)); 
activity.startActivity(intent); 

アクティビティBが自動的に起動されると、あなたはgetIntentを(呼び出すことによって、URIを読むことができる)のgetData()あなたのonCreate()メソッドから。

あなたのニーズに最も適したさまざまなアクション(表示、編集、挿入...)とデータタイプ(MIME、SCHEMA、PATH ...)を選択できます。

関連する問題