2016-11-17 146 views
1

如果某個特定硬件不存在,是否可以阻止Android應用程序在用戶手機上列出?Android設備兼容性 - 停止安裝

或者允許用戶安裝應用程序並執行isHardwareDetected檢查並向用戶顯示一條消息?

例如,指紋掃描儀硬件,如果用戶手機不可用,可以通過Google Play禁用嗎?

另外,Google Play商店列表是否可以根據設備的兼容性動態更改?

問候, Nirav

回答

2

設備功能

您可以阻止安裝該應用的用戶時,他們的設備不通過在應用程序的清單文件中的元素聲明它提供給定的功能。

例如,如果您的應用程序不缺少指南針傳感器的設備上的意義,你可以聲明爲需要具有以下明顯的標記方位傳感器:

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

谷歌Play商店的產品的特點您的應用需要使用每個用戶設備上提供的功能來確定您的應用是否與每個設備兼容。如果設備未提供您的應用所需的全部功能,則用戶無法安裝您的應用。

但是,如果您的應用的主要功能不需要設備功能,則應將必需屬性設置爲「false」並在運行時檢查設備功能。

如果應用程序功能在當前設備上不可用,請適度降低相應的應用程序功能。例如,您可以查詢功能是否可用通過調用hasSystemFeature()這樣的:

PackageManager pm = getPackageManager(); 
if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) { 
// This device does not have a compass, turn off the compass feature 
disableCompassFeature(); 
} 

詳情Refer Device Compatibility

+0

感謝您的回答。有沒有辦法顯示爲什麼不能安裝應用程序的自定義消息?我檢查了文檔,但無法找到一種方式來顯示自定義消息,當用戶無法下載應用程序。 – Nirav