एंड्रॉइड ऐप में लोकेशन सर्विस की जांच करना
यह ट्यूटोरियल दर्शाता है कि एंड्रॉइड ऐप में प्रोग्रामेटिक रूप से कैसे जांचा जाए कि GPS या नेटवर्क-आधारित लोकेशन सर्विस इनेबल हैं या नहीं। यदि दोनों डिसेबल हैं, तो ऐप यूजर को लोकेशन सेटिंग्स खोलने के लिए प्रॉम्प्ट करता है।
आवश्यकताएं
- Android Studio
- एक फिजिकल एंड्रॉइड डिवाइस या एम्यूलेटर
- मैनिफेस्ट में लोकेशन परमिशन
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project पर जाएं, "Empty Activity" चुनें और आवश्यक विवरण भरें।
चरण 2: लेआउट XML जोड़ें (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="लोकेशन इनेबल करें" />
</RelativeLayout>
चरण 3: MainActivity.java में लॉजिक जोड़ें
package app.tutorialspoint.com.sample;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.location.LocationManager;
import android.os.Bundle;
import android.provider.Settings;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(v -> locationEnabled());
}
private void locationEnabled() {
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
boolean gpsEnabled = false;
boolean networkEnabled = false;
try {
gpsEnabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
} catch (Exception e) {
e.printStackTrace();
}
try {
networkEnabled = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
} catch (Exception e) {
e.printStackTrace();
}
if (!gpsEnabled && !networkEnabled) {
new AlertDialog.Builder(this)
.setMessage("GPS इनेबल नहीं है। सेटिंग्स खोलें?")
.setPositiveButton("सेटिंग्स", (dialog, which) ->
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)))
.setNegativeButton("कैंसल", null)
.show();
}
}
}
चरण 4: AndroidManifest.xml में परमिशन जोड़ें
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.tutorialspoint.com.sample">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
ऐप चलाएं
अपना एंड्रॉइड डिवाइस USB से कनेक्ट करें, Android Studio में Run आइकन पर क्लिक करें, और अपना डिवाइस चुनें। बटन दबाने पर, ऐप लोकेशन स्टेटस चेक करेगा और आवश्यकतानुसार सेटिंग्स डायलॉग दिखाएगा।
