Android 应用程序能否只允许自己安装在带有磁传感器的设备上?

Can an Android app only allow itself to be installed on devices with a magnetic sensor?

Android 应用程序能否仅允许从 Google 安装在带有磁传感器(罗盘)的设备上播放?

是否可以通过其他方式限制目标设备?

将此添加到您的 AndroidManifest.xml

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

查看更多详情here

如@Zoe 所述,如果有人拥有 APK,它将隐藏在 Play 商店中但不会阻止安装。如果你想阻止使用应用程序,那么你可以在你的开始 activity 中添加一个检查并阻止用户使用任何功能。

PackageManager mgr = getPackageManager();
boolean hasCompass = mgr.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS);