【问题标题】:accessing the content provider访问内容提供者
【发布时间】:2011-09-09 05:04:19
【问题描述】:

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

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

提前感谢。

【问题讨论】:

标签: android sql provider


【解决方案1】:

您可以根据其性质注册 Activity 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>

这将注册 Activity B 以接受带有计算 MIME 类型的 URI 的 VIEW 操作。

那么,当Activity A运行如下代码时:

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

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

您可以选择最适合您需要的不同操作(查看、编辑、插入...)和数据类型(MIME、SCHEMA、路径...)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多