Android 如何查询其他应用程序';s CP安全

Android 如何查询其他应用程序';s CP安全,android,mysql,android-contentprovider,Android,Mysql,Android Contentprovider,我有两个应用程序,我想从应用程序a创建一个查询,以获取应用程序B的信息。 这是一个非常简单的过程,如下所示,但我想与社区再次核实,并得到一些建设性的批评。有更好的办法吗 多谢各位 此代码获取数据库中某个人的姓名 private Cursor getData() { final Uri uri = Uri.parse("content://" + AUTHORITY + "/" + TABLE_PATH); String[] projection = new String[] { "_id",

我有两个应用程序,我想从应用程序a创建一个查询,以获取应用程序B的信息。 这是一个非常简单的过程,如下所示,但我想与社区再次核实,并得到一些建设性的批评。有更好的办法吗

多谢各位

此代码获取数据库中某个人的姓名

private Cursor getData() {


final Uri uri = Uri.parse("content://" + AUTHORITY + "/" + TABLE_PATH);
String[] projection = new String[] { "_id", "foo" };
String selection = null;
String[] selectionArgs = null;
String sortOrder = null;;


ContentResolver resolver = getContentResolver();
    return  resolver.query(uri, projection, selection, selectionArgs, sortOrder);

}

好的,如果系统知道某个内容提供者具有您指定的权限,并且该提供者识别表路径,并且该提供者将“\u id”和“foo”识别为有效列名,那么它应该可以工作

但是,您似乎在问几个不同的问题:

  • 这是查询其他应用程序内容提供商的安全方法吗?哦,是的;到目前为止,它是从其他应用程序获取数据的最首选方式
  • “此代码获取数据库中某个人的姓名”。事实上,这是一个轻微的错误陈述。代码对具有权限的内容提供程序和提供程序中名为TABLE_PATH的实体运行查询。不需要数据库,尽管内容提供商通常将其数据存储在SQLite数据库中。CP所要做的就是建立一个权限并响应传入的内容URI

  • 嗯,没有那么多的选择。你特别关心什么?