2012-03-19 92 views
1

我们如何访问Android手机中的安全元素。 基本上我需要存储一些安全的数据并检索它,我只想要我的应用程序访问这些数据。请让我知道这些步骤。访问Android中的安全元素

+0

“安全元素”是什么意思?这可以是SIM卡,或者你已经用通信范围内的nfc NFC标记标记了问题(或者你的意思是不同的东西)? – Robert 2012-03-19 16:20:49

+0

嗨罗伯特,我想知道是否有任何API找到安全元素(SIM或集成芯片等)的类型,如果是的话如何读取/写入数据的安全元素?听说我们需要从MNO获得证书,但我不知道如何实施它。根据AerandiR,Google不提供任何开箱即用的API。 – Shan 2012-03-21 07:42:46

回答

8

而Android不支持一个安全元件,并有一些代码在内部关于它,有目前没有相应的Java API(see available NFC APIs)。然而,有一种称为SEEK的努力,用于创建与SE(see the GitHub project)通信的开源堆栈,但这不是谷歌的官方实施。最后我听说谷歌似乎倾向于不提供这样的API。

+0

谢谢!似乎最好等到Google发布一个API! – Shan 2012-03-21 07:28:31

+0

6年后,你的问题仍然相关。心灵恢复它吗? – Giszmo 2018-03-03 01:18:54

-1

储存于Android的SQLite数据库数据。

这将存储在应用程序沙箱,这样,除非你给公共URI通过内容提供商对其进行访问其它应用程序不能访问它们。

+0

如果手机以某种方式植根或受到损害,该信息也将可用。安全元素没有这个缺点。 – arnau 2017-03-13 08:55:58

-1

如果您有很少的元素来存储..然后你可以尝试使用共享偏好...他们是很容易创建,检索和应用程序中修改值..和使他们的私人您application..use

getSharedPreferences(yourfile, MODE_PRIVATE); 
this make the file" your file" private for the application which created it.. 
现在

,如果你有大量的价值观..然后SQLite数据库是更好..

-1

默认情况下在安装过程中的每个应用程序被分配一个唯一的Linux用户ID(UID)。而且,在安装过程中,会为每个应用程序创建一个所谓的主文件夹(您可以将其想象为普通Linux的用户主文件夹)。在Linux中,只有该文件夹的所有者才能在Android中以相同方式默认访问主文件夹(我们不考虑root用户),只有具有特定UID的应用程序才能访问主文件夹。因此,您的应用程序可以将数据存储在其主文件夹中,而Linux内核将负责其他应用程序无法访问该应用程序的此主文件夹。

因此,建议您可以将数据存储在sqlite数据库或sharedpreferences文件中,默认情况下它们存储在应用程序的主文件夹中。