检测Android应用程序是否在“BlueStacks”中运行的可靠方法
2022-09-03 02:36:04
我想在运行时确定它是否在Android应用程序中运行,它是否在BlueStacks Android模拟器中运行。这样我就可以修改应用程序在BlueStacks中运行时的运行方式。
BlueStacks不支持多点触控,因此我想实现我当前应用程序具有的标准捏合缩放功能的替代方案。
例如:
If (appIsRunningInBlueStacks){
mySurfaceView.enableMultiTouchAlternatives();
} else{
mySurfaceView.enableMultiTouchFeatures();
}
确定 appIsRunningInBlueStacks 价值的可靠方法是什么?
编辑 对问题的评论答案摘要:
本,塔拉斯,谢谢你的建议。BlueStacks 的 Build.MODEL 等值为:
型号: “GT-I9100”
制造商: “三星”
设备: “GT-I9100”
产品: “GT-I9100”
这与三星Galaxy SII的型号相同,因此由于担心使用SI的所有用户与BlueStacks上的SI相同,因此使用它并不理想。
CommonsWare,该应用程序继续在BlueStacks中运行,即使具有<使用功能>用于清单中的多点触控。事实上(也回答了iagreen的问题)...
packageManager.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT);
...返回 true!这是可以预料到的,我想模拟器确信它是三星Galaxy SII!
因此,我们仍然无法可靠地检测应用程序是否在BlueStacks上运行,而不会将所有三星Galaxy SII用户放入同一桶中。还有其他想法吗?