如何检测另一个Android设备?

时间:2013-02-06 08:51:46

标签: android android-emulator

我要求如果我在一台Android设备上运行我的应用程序,然后尝试在另一台Android设备上运行相同的应用程序,我需要首先检查是否是其他设备,如果是,那么我应该继续。你能否告诉我是否有办法实现这一目标?

谢谢。

3 个答案:

答案 0 :(得分:2)

你可以用这个:

telephonyManager = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();
telephonyManager.getSimSerialNumber();

getDeviceIdgetSimSerialNumber每个设备都是唯一的,因此您可以检查此值

答案 1 :(得分:0)

实现这个问题是这样的:

How can we differentiate, if we are installing app,
first time on 1st device or first time on second device.
so for that we have to use a unique key for app to run 
on each different device.
So that before saving shared pref,
we can validate the unique key for that device. 

现在问题是用户将如何获得唯一密钥?因此,假设应用程序供应商将为每个设备提供密钥。但为此,应用程序应该有一些算法来验证我们提供的密钥。

但遗憾的是,如果供应商提供密钥,用户也可以使用该密钥安装在其他设备上。

SO最终解决方案是在首次运行应用程序之前必须在某些Web服务上注册设备以进行激活。

答案 2 :(得分:-1)

首次运行时在共享首选项中设置标记

SharedPreferences preferences = getSharedPreferences("PREF_NAME", 0);
boolean onlyonce = preferences.getBoolean("FLAG_NAME", false);

if (!onlyonce ) {
   SharedPreferences.Editor editor = preferences.edit();
   editor.putBoolean("FLAG_NAME", true);
   editor.commit();
}

如果用户重置应用程序,它也会被清除。这会解决你的问题吗?