我敢肯定这会被问到,但是我不知道要搜索什么...

无论如何,我有一个应用程序,除了要由我操作或在我的特定手机上操作外,我都希望以某种方式运行-这是出于调试目的。我可以想到各种各样的笨拙方法,但是我怀疑可能存在一种标准方法……是吗?

编辑:此代码是一种可能的解决方案:

TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
if (getSimSerialNumber.equals("my_serial_number"))
{
    // yes its me!
}


唯一的问题是,它需要额外的权限。

最佳答案

我认为,做到这一点的最佳方法可能是简单地使用唯一的设备标识符。在某些情况下,它可以更改或为null,但是由于只需要确保它是您的设备,因此可以使用它而不必担心某些问题。

这是使用方法(取自Is there a unique Android device ID?

import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID);


您可以打印该文件(以便知道设备的ID是什么),然后将其与结果进行比较(我不确定if()语句的语法是否正确,因此请您自行决定)。

关于android - 检测用户是我,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13363093/

10-12 03:28