Gps Permission

Cara membuat izin Lokasi pada saat menjalankan aplikasi di Android

Posted on

Contoh ini menunjukkan bagaimana cara meminta izin Lokasi di android.

Langkah 1 – Buat proyek baru di Android Studio, buka File ⇒ Proyek Baru dan isi semua detail yang diperlukan untuk membuat proyek baru

Langkah 2 – Tambahkan kode berikut ke res / layout / activity_main.xml.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://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:text="Request Location permission at Run time!"
      android:padding="4dp"
      android:layout_centerInParent="true"
      android:textSize="36sp"
      android:textStyle="bold"/>

</RelativeLayout>

Langkah 3 – Tambahkan kode berikut ke src / 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 {

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

      if (ContextCompat.checkSelfPermission(MainActivity.this,
         Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
         if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
            Manifest.permission.ACCESS_FINE_LOCATION)){
            ActivityCompat.requestPermissions(MainActivity.this,
            new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
         }else{
            ActivityCompat.requestPermissions(MainActivity.this,
            new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
         }
      }
   }
   @Override
   public void onRequestPermissionsResult(int requestCode, String[] permissions,
      int[] grantResults){
      switch (requestCode){
         case 1: {
            if (grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
               if (ContextCompat.checkSelfPermission(MainActivity.this,
                  Manifest.permission.ACCESS_FINE_LOCATION)==PackageManager.PERMISSION_GRANTED){
                  Toast.makeText(this, "Permission Granted", Toast.LENGTH_SHORT).show();
               }
            }else{
               Toast.makeText(this, "Permission Denied", Toast.LENGTH_SHORT).show();
            }
            return;
         }
      }
   }
}

Langkah 4 – Tambahkan kode berikut ke androidManifest.xml

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

   <uses-permission android:name="android.permission.ACCESS_FINE_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>

Mari coba jalankan aplikasi Anda. Saya berasumsi bahwa Anda telah menghubungkan perangkat Seluler Android Anda yang sebenarnya dengan komputer Anda. Untuk menjalankan aplikasi dari android studio, buka salah satu file aktivitas proyek Anda dan klik Mainkan Ikon Jalankan dari bilah alat. Pilih perangkat seluler Anda sebagai opsi dan kemudian periksa perangkat seluler Anda yang akan menampilkan layar default Anda –

Leave a Reply

Your email address will not be published. Required fields are marked *