Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 导出的内容提供商可以提供对潜在敏感数据的访问_Android_Android Contentprovider - Fatal编程技术网

Android 导出的内容提供商可以提供对潜在敏感数据的访问

Android 导出的内容提供商可以提供对潜在敏感数据的访问,android,android-contentprovider,Android,Android Contentprovider,我在android应用程序中使用ContentProvider在应用程序之间共享数据库。为了共享数据库,我需要在AndroidManifest.xml中添加提供者访问权限,如下所示: <provider android:name="Contentprovider" android:authorities="umb.con.apps.vid" /> 我添加并成功实现了,但是标记中显示的警告消息如下:“导出的内容提供商可以提供对潜在敏感数据的访问”。它将来会导致任何安全问题吗?如果

我在android应用程序中使用
ContentProvider
在应用程序之间共享数据库。为了共享数据库,我需要在
AndroidManifest.xml
中添加提供者访问权限,如下所示:

<provider
android:name="Contentprovider"
android:authorities="umb.con.apps.vid" />


我添加并成功实现了,但是
标记中显示的警告消息如下:“导出的内容提供商可以提供对潜在敏感数据的访问”。它将来会导致任何安全问题吗?

如果您只想从应用程序内部访问内容提供商,只需添加

android:exported="false"
进入清单中的节点

从:

false:该提供程序对其他应用程序不可用。设置android:exported=“false”以限制应用程序对提供商的访问。只有与提供程序具有相同用户ID(UID)的应用程序才能访问它


另一方面,如果您确实想将数据公开给其他应用程序,但数据存储中也有敏感数据,请记住,您可以有多个内容提供商,因此只公开“公众”一个。

如果您确定要允许外部访问您的内容提供商并使警告静音,请添加
工具:ignore=“ExportedContentProvider”

e、 g



还请注意,如果您的目标是4.2(API级别17),这是默认设置。如果您不希望提供商将数据公开给任何其他应用程序,您如何准确地获得警告?@pat8719 tools:ignore=“ExportedContentProvider”在manifest xmlclose中这样做(
android:exported=“false”
),我们可以在应用程序小部件中使用它吗?如果您添加tools:ignore,请记住将xmlns:tools=”“添加到manifest标记中。我花了一个小时才弄明白为什么tools:ignore会破坏清单文件。请确保在
清单
标记中包含
工具
的XML命名空间前缀:
<provider
tools:ignore="ExportedContentProvider"
android:exported="true"
android:name="Contentprovider"
android:authorities="umb.con.apps.vid" />