我建議創建另一個類,並把你的代碼在它(靜態方法)和從活動和碎片都打電話給他們。 注意:它不會把你的代碼放在兩個類中。喜歡的東西:
public class LocationUtil {
public static boolean isGpsEnabled(Context context) {
// Relative code
}
public static boolean isNetworkEnabled(Context context) {
// Relative code
}
public static Location getCurrentLocation(Context context) {
// Relative Code
}
}
但是,如果你不需要每次打開應用時,獲取用戶的當前位置(我並不需要,一開始我問他要選擇一個位置)我建議得到該地點只有一次,並將其存儲在SharedPreferences
,因爲它使用更少的電池和電力。
再次如果你想定期獲得位置,我建議使用LocationManager.requestLocationUpdates()
。你可以在這裏查看。
我沒有完全得到你最後一個問題,但它並沒有太大的差別。
友好的建議: 如果你不需要它們在18 API引入的事情,減少您的minSdkVersion
,因爲很多設備(如我的手機)會想念你的應用程序。
希望它有幫助:)