2012-06-17 41 views
28

在今天我的應用程序上傳到市場,我一看,原來是隻提供給擁有GPS設備,因此這排除了一些藥片。GPS清單:GPS在應用程序是可選的,希望把它提供給GPS設備少過

GPS在我的應用程序是可選的。是否有可能發佈一個應用程序的設備與GPS和沒有GPS或我需要一個額外的版本(但沒有問題,但)?

如果有可能,我想有某種方法來檢查(deviceHasGPS()){...}。 有沒有?

這是我的清單的一部分:

<uses-permission android:name="android.permission.PREVENT_POWER_KEY" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
<uses-permission android:name="com.android.vending.CHECK_LICENSE" /> 

編輯:感謝您的回答Raghav Sood

添加的體現:

<uses-feature android:name="android.hardware.location.gps" 
       android:required="false" /> 

執行下列規定:

locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 
boolean deviceHasGPS = false; 
    if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) { 
     deviceHasGPS = true; 
    } 

測試它與GPS的設備上,只是圍繞着GPS事情如果(deviceHasGPS){...} 然後在清單中刪除:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

集deviceHasGPS總是假的,看看App部隊關閉。

+0

謝謝,這個作品中,只要你不刪除該位置的權限,他們需要的應用程序工作。 – petter

+0

你也可以添加'android-hard-android.hardware.location「android:required =」false「/>'和''因爲有些設備沒有任何位置服務。 – petter

回答

37

以下添加到您的清單

<uses-feature android:name="android.hardware.location.gps" android:required="false" /> 

這會告訴谷歌播放,雖然你的應用有GPS,它是絕對的要求是不正確的。但是,您應該優雅地處理您的應用程序中缺乏GPS,而不是讓它崩潰。

是檢查該設備具有GPS可以撥打LocationManager.getAllProviders()和檢查LocationManager.GPS_PROVIDER是否包含在列表中。

+0

明確的答案,謝謝!不言而喻,因爲它的工作原理。 – stefple

+0

作品。編輯該問題並添加了一個提示,以測試GPS設備。 – stefple

+0

爲什麼這個工程好貼可以在這裏找到:https://endocode.com/blog/2014/02/04/android-permissions-features-and-google-play-store/和暗示功能的完整列表可以在這裏找到http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions – Trenton