我尝试使用以下代码列出所有功能:
features = "";
final PackageManager packageManager = getActivity().getPackageManager();
final FeatureInfo[] featuresList = packageManager.getSystemAvailableFeatures();
for (FeatureInfo f : featuresList) {
features += f.name + "\n";
}
我在电视加密狗上得到以下结果:
android.hardware.wifi
android.settings.battery
android.hardware.location.network
com.google.android.feature.GOOGLE_BUILD
android.hardware.location
android.hardware.touchscreen.multitouch
android.hardware.screen.landscape
android.hardware.screen.portrait
android.hardware.faketouch
android.hardware.camera
android.software.pppoe
android.hardware.usb.accessory
android.hardware.microphone
android.hardware.location.gps
android.settings.location
android.hardware.ethernet
android.hardware.camera.autofocus
android.hardware.camera.front
android.software.live_wallpaper
android.hardware.sensor.accelerometer
android.hardware.touchscreen
android.hardware.camera.flash
电视加密狗不具备相机,触摸屏,加速度计等功能的一半。
就像每个制造商都可以自愿伪造这些功能一样。
有没有通用的方法来检测设备是加密狗还是STB,并禁止我的应用程序看不到这些设备并且无法通过Google Play安装?
答案 0 :(得分:1)
有没有通用的方法来检测设备是加密狗还是STB,并禁止我的应用程序看不到这些设备并且无法通过Google Play安装?
我不知道任何"电视加密狗"合法拥有Play商店的设备,虽然有可能存在一些。对于电视加密狗",有些提供" faketouch",对他们来说通常意味着让鼠标假装成一个手指"。
欢迎您声明您的应用需要通过<uses-feature>
进行一定程度的多点触控,这可能会淘汰faketouch设备。然而,特别是对于盗版Play商店的设备制造商来说,没有什么可以做到的,而且普遍&#34;确保设备不会对其功能集撒谎。