访问内容提供商

时间:2011-09-09 05:04:19

标签: android sql provider

如果我在应用程序A中有内容提供程序和CONTENT_URI,那么它也在清单中。如何从应用程序B调用它?

我是否需要在包含我的sqlite数据库的类中编写代码?或者我是否需要创建一个全新的课程并从那里打电话给提供者?

提前完成。

1 个答案:

答案 0 :(得分:0)

您可以根据其性质注册活动B以接受URI。

为此,您将以下“intent-filer”部分添加到AndroidManifest.xml中的Activity B

    <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以接受带有数学MIME类型的URI的VIEW动作。

然后,当活动A运行以下代码时:

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

活动B将自动激活,您可以通过从onCreate()方法调用getIntent()。getData()来读取URI。

您可以选择最适合您需要的不同动作(VIEW,EDIT,INSERT ...)和数据类型(MIME,SCHEMA,PATH ......)。