我们如何访问 Android 手机中的安全元素。基本上我需要存储一些安全数据并检索它,我只希望我的应用程序访问这些数据。请让我知道执行此操作的步骤。
4 回答
虽然 Android 确实支持安全元素并且在内部有一些与之相关的代码,但目前没有相应的 Java API(请参阅可用的 NFC API)。然而,有一项名为 SEEK 的工作是创建一个用于与 SE 通信的开源堆栈(请参阅 GitHub 项目),但这不是 Google 的官方实现。上次我听说 Google 似乎倾向于不提供这样的 API。
将数据存储在 android的sqlite 数据库中。
这将存储在应用程序沙箱中,以便其他应用程序无法访问它们,除非您通过 Content Provider 提供公共 URI 来访问它们。
如果您要存储的元素很少..那么您可以尝试使用共享首选项...它们很容易从您的应用程序中创建、检索和修改值..并使它们对您的应用程序私有..使用
getSharedPreferences(yourfile, MODE_PRIVATE);
this make the file" your file" private for the application which created it..
现在如果你有大量的值.. 那么 sqlite 数据库更好..
默认情况下,安装期间的每个应用程序都分配有唯一的 Linux 用户 ID (UID)。此外,在安装过程中,会为每个应用程序创建一个所谓的主文件夹(您可以将其想象为普通 Linux 的用户主文件夹)。在 Linux 中,默认情况下只有文件夹的所有者(我们不考虑 root 用户)可以访问主文件夹,就像在 Android 中只有具有特定 UID 的应用程序才能访问主文件夹一样。因此,您的应用程序可以将数据存储在它们的主文件夹中,Linux 内核将确保没有其他应用程序可以访问该应用程序的主文件夹。
因此,正如建议的那样,您可以将数据存储在 sqlite 数据库或 sharedpreferences 文件中,默认情况下存储在应用程序的主文件夹中。