Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में रनटाइम पर लोकेशन परमिशन कैसे मांगें?

Android 6.0+ में रनटाइम लोकेशन परमिशन रिक्वेस्ट

Android Marshmallow (API 23) से खतरनाक परमिशन रनटाइम पर मांगनी पड़ती है। यह उदाहरण ACCESS_FINE_LOCATION के लिए दिखाता है।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project।

चरण 2: सिंपल लेआउट

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"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:padding="16dp"
        android:text="Request Location permission at Run time!"
        android:textSize="18sp"
        android:textStyle="bold" />

</RelativeLayout>

चरण 3: MainActivity.java में परमिशन लॉजिक

import android.Manifest;
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private static final int LOCATION_PERMISSION_REQUEST_CODE = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        requestLocationPermission();
    }

    private void requestLocationPermission() {
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
                != PackageManager.PERMISSION_GRANTED) {

            // परमिशन मांगें
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                    LOCATION_PERMISSION_REQUEST_CODE);
        } else {
            Toast.makeText(this, "Permission already granted", Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == LOCATION_PERMISSION_REQUEST_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(this, "Permission Granted", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(this, "Permission Denied", Toast.LENGTH_SHORT).show();
            }
        }
    }
}

चरण 4: AndroidManifest.xml में परमिशन घोषित करें

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">

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

    <application ...>
        <activity android:name=".MainActivity">...</activity>
    </application>
</manifest>
बेस्ट प्रैक्टिस: परमिशन मांगने से पहले shouldShowRequestPermissionRationale() जांचकर यूजर को समझाएं कि परमिशन क्यों चाहिए।

ऐप चलाएं

पहली बार चलाने पर परमिशन डायलॉग आएगा। Allow/Deny चुनने पर टोस्ट दिखेगा।

Android में रनटाइम पर लोकेशन परमिशन कैसे मांगें? Android में रनटाइम पर लोकेशन परमिशन कैसे मांगें?
  1. Phoenix OS के साथ PC पर Android कैसे चलाएं Phoenix OS के साथ PC पर Android कैसे चलाएं

    Phoenix OS Android पर आधारित एक PC ऑपरेटिंग सिस्टम है, जो Windows और Mac कंप्यूटर दोनों के साथ संगत है। वर्तमान संस्करण Android 7.1 का समर्थन करता है और लैपटॉप, डेस्कटॉप PC और टैबलेट पर चलने के लिए डिज़ाइन किया गया है। लिखने योग्य होने के कारण, इसे आसानी से फ्लैश ड्राइव पर ले जाया जा सकता है और दूस

  1. Android डिवाइस पर अपनी GPS लोकेशन को सुरक्षित रूप से स्पूफ कैसे करें Android डिवाइस पर अपनी GPS लोकेशन को सुरक्षित रूप से स्पूफ कैसे करें

    आप निश्चित रूप से अपने GPS निर्देशांक किसी ऐसे व्यक्ति के साथ साझा नहीं करेंगे जो आपके लिए पूर्ण अजनबी है, है ना? तो फिर आप लगातार ऐप्स को अपने स्थान डेटा तक पहुंचने की अनुमति क्यों दे रहे हैं? क्या आपको कोई अंदाजा है कि आपका डेटा कहां संग्रहीत है? क्या आप डेटा संग्रहीत करने वाले सिस्टम की सुरक्षा म

  1. Windows 11 पर Android ऐप्स चलाएं: चरण-दर-चरण मार्गदर्शिका Windows 11 पर Android ऐप्स चलाएं: चरण-दर-चरण मार्गदर्शिका

    यह जानने के लिए उत्सुक हैं कि क्या आप अपने Windows 11 PC पर Android ऐप्स चला सकते हैं? खैर, लगता है हमारे सपने आखिरकार सच हो गए। आप थर्ड-पार्टी सॉफ़्टवेयर या एमुलेटर का उपयोग किए बिना Windows 11 पर Android ऐप्स आसानी से चला सकते हैं। Windows पर Amazon Appstore ऐप का उपयोग करके, आप अपने पसंदीदा ऐप्स