Viแบฟt mแปt bร i viแบฟt mแป rแปng vแป cรกch kiแปm tra xem mแปt vแป trรญ cรณ ฤฦฐแปฃc bแบญt trรชn thiแบฟt bแป Android hay khรดng cรณ thแป ฤรฒi hแปi sแปฑ hiแปu biแบฟt sรขu sแบฏc vแป lแบญp trรฌnh Java vร cรกch sแปญ dแปฅng cรกc thฦฐ viแปn Android khรกc nhau. Vรฌ vแบญy, hรฃy ฤi sรขu vร o vแบฅn ฤแป nร y.
Trong bแปi cแบฃnh แปฉng dแปฅng di ฤแปng hiแปn ฤแบกi, viแปc truy cแบญp vแป trรญ cแปงa ngฦฐแปi dรนng ฤรฃ trแป nรชn quan trแปng ฤแป cung cแบฅp trแบฃi nghiแปm ฤฦฐแปฃc cรก nhรขn hรณa dแปฑa trรชn vแป trรญ ฤแปa lรฝ cแปงa ngฦฐแปi dรนng. Chแปฉc nฤng nร y cรณ sแบตn rแบฅt nhiแปu trong cรกc thiแบฟt bแป chแบกy Android. Tuy nhiรชn, viแปc xรกc ฤแปnh xem vแป trรญ cรณ ฤฦฐแปฃc bแบญt hay khรดng cลฉng lร mแปt khรญa cแบกnh quan trแปng.
public boolean isLocationEnabled(Context context) {
int locationMode = 0;
String locationProviders;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
return locationMode != Settings.Secure.LOCATION_MODE_OFF;
} else {
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}
}
Hiแปu mรฃ
ฤoแบกn mรฃ trรชn sแบฝ kiแปm tra xem dแปch vแปฅ ฤแปnh vแป cรณ ฤฦฐแปฃc bแบญt trรชn bแบฅt kแปณ thiแบฟt bแป Android nร o hay khรดng theo hai bฦฐแปc chรญnh:
โ Nแบฟu phiรชn bแบฃn thiแบฟt bแป lร KitKat trแป lรชn, nรณ sแบฝ cแป gแบฏng lแบฅy cร i ฤแบทt chแบฟ ฤแป vแป trรญ vร xรกc thแปฑc xem nรณ cรณ phแบฃi lร 'Tแบฏt chแบฟ ฤแป vแป trรญ' hay khรดng. Nแบฟu vแบญy, nรณ xรกc nhแบญn rแบฑng vแป trรญ ฤรฃ ฤฦฐแปฃc bแบญt.
โ ฤแปi vแปi cรกc thiแบฟt bแป chแบกy trรชn cรกc phiรชn bแบฃn cลฉ hฦกn KitKat, nรณ sแบฝ lแบฅy danh sรกch cรกc nhร cung cแบฅp vแป trรญ ฤฦฐแปฃc phรฉp vร kiแปm tra xem danh sรกch ฤรณ cรณ trแปng khรดng. Nแบฟu danh sรกch khรดng trแปng thรฌ xรกc nhแบญn rแบฑng vแป trรญ ฤรฃ ฤฦฐแปฃc bแบญt.
Vai trรฒ cแปงa cรกc thฦฐ viแปn vร chแปฉc nฤng khรกc nhau
Trong mรฃ nร y, chรบng tรดi ฤรฃ sแปญ dแปฅng mแปt sแป chแปฉc nฤng vร thฦฐ viแปn cแปฅ thแป, chแปง yแบฟu tแปซ Bแป cรดng cแปฅ dร nh cho nhร phรกt triแปn Android:
- Bแบฃn dแปฑng.VERSION.SDK_INT: ฤรขy lร trฦฐแปng chแปฉa phiรชn bแบฃn SDK cแปงa nแปn tแบฃng hiแปn ฤang chแบกy trรชn thiแบฟt bแป.
- Cร i ฤแบทt.Secure: ฤรขy lร lแปp quแบฃn lรฝ quyแปn truy cแบญp vร o cร i ฤแบทt hแป thแปng bแบฃo mแบญt toร n cแบงu, chแปง yแบฟu lร cร i ฤแบทt hแป thแปng แบฃnh hฦฐแปng ฤแบฟn quyแปn riรชng tฦฐ cแปงa ngฦฐแปi dรนng.
- Cร i ฤแบทt.Secure.getInt: Phฦฐฦกng thแปฉc nร y trแบฃ vแป giรก trแป cร i ฤแบทt sแป nguyรชn an toร n cho mแปt tรชn ฤรฃ cho.
- Cร i ฤแบทt.Secure.LOCATION_MODE: ฤiแปu nร y ฤฦฐแปฃc sแปญ dแปฅng ฤแป cรณ ฤฦฐแปฃc cร i ฤแบทt chแบฟ ฤแป vแป trรญ hiแปn tแบกi.
- Cร i ฤแบทt.Secure.LOCATION_PROVIDERS_ALLOWED: Nhแบญn danh sรกch cรกc nhร cung cแบฅp vแป trรญ ฤฦฐแปฃc phรฉp.
Tรฌm hiแปu thรชm vแป PNV