微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

找出Android设备是否真实的最佳方法是什么?

我们正试图通过某种优惠券来奖励,无论何时在设备上进行新安装,都可以在实体店兑换.我们对此进行了一些试验,并验证它是基于IMEI&amp ;;的新设备. imsI.但我们发现人们在一些模拟器上进行操作,这些模拟器可以操作这些ID并模仿新设备.如何避免这种情况?

我们目前正在使用这样的

    TelephonyManager m_telephonyManager = (TelephonyManager) context.getSystemService(serviceName);
    String IMEI, imsI;
    IMEI = m_telephonyManager.getdeviceid();
    imsI = m_telephonyManager.getSubscriberId();
    return IMEI + ":" + imsI;

我确信有一种方法,因为广告网络驱动器安装正确地将每个设备只归属一次.

解决方法:

您可以使用以上任何方法检查您的应用程序是否在模拟器中运行.但这些并非100%可靠,但这些方法的组合可能会对您有所帮助.

方法1

if (android.os.Build.MODEL.equals(“sdk”)) {
   // emulator
} else {
   //not emulator
}

方法2

尝试将清单设置为依赖于模拟器中通常不支持的某些硬件.例如:

<uses-feature android:name="android.hardware.sensor.accelerometer" 
              android:required="true" />

方法3

尝试使用

Build.FINGERPRINT.contains("generic")

这些是查找应用程序是否在模拟器中运行的一些方法.希望这可以帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐