1

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

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

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

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

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

4

3 回答 3

1

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

以下是如何使用它(取自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() 语句的语法是否正确,所以我将把它留给您)。

于 2012-11-13T16:43:59.193 回答
1

您可以在 SD 卡中创建一个文件,并检查该文件是否存在。如果文件存在,您可以假设它是您的并打印额外的调试信息等

于 2012-11-13T15:44:08.433 回答
0

检查电话 ID 和电话号码。编写您自己的 Web 脚本以检查是否允许手机访问您的应用程序。您可以为此使用数据库。

于 2012-11-13T15:18:20.200 回答