我想创建一个文件来存储一些只能由我的应用程序访问的数据。外部用户不应该能够访问该文件或对其进行任何更改。我将在文件中存储一个密钥,该密钥可能由我的应用程序访问需要时随时使用应用程序。
使用Environment.getDataDirectory(),http://developer.android.com/reference/android/os/Environment.html#getDataDirectory() http://developer.android.com/reference/android/os/Environment.html#getDataDirectory()
这给出了一个 File 对象,它是私有的、应用程序特定的数据目录的路径。其中创建的文件归您的应用程序的用户 ID 所有,从而防止任何其他应用程序访问它们。
File myPrivateFile = new File(Environment.getDataDirectory(), context.getPackageName() + File.separator + "secret.txt");
请注意,如果设备已获得 root 权限,则一切都将失败。根进程可以读取设备上的任何文件。您能做的最好的事情就是只存储设备用户的信息。这样,如果受到威胁,只有一个用户帐户受到威胁。换句话说,不要存储凭据、密钥、访问令牌等。这将允许恶意代理访问服务器,从而窃取其他用户的数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)