Jumat, 11 Januari 2013

Membuat Aplikasi Android untuk Mendeteksi Device GPS Enabled dan Open GPS Setting

Kali ini kita pelajari tool ringan untuk mendeteksi apakah perangkat GPS sudah dinyalakan atau belum. Gunanya jika kita membuat aplikasi yang menggunakan perangkat GPS, user sudah bisa diberitahu secara otomatis apakah Device GPS sudah aktif atau belum dan dimana setting untuk mengaktifkan akan langsung keluar.

Buat project Android baru, kemudian pada Program utama di MainActivity kita tambahkan kode program seperti ini :

MainActivity.java

package com.amijaya.androiddetectgps;

import android.app.Activity;
import android.app.AlertDialog;
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 android.widget.Toast;

//http://cariprogram.blogspot.com
//nuramijaya@gmail.com
public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        

        final LocationManager manager = (LocationManager) getSystemService( Context.LOCATION_SERVICE );

        if ( !manager.isProviderEnabled( LocationManager.GPS_PROVIDER ) ) {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage("GPS Disabled, Buka Setting dan Aktifkan GPS?")
                   .setCancelable(false)
                   .setPositiveButton("Ya", new DialogInterface.OnClickListener() {
                       public void onClick(@SuppressWarnings("unused") final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
                           startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
                       }
                   })
                   .setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
                       public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
                            dialog.cancel();
                       }
                   });
            final AlertDialog alert = builder.create();
            alert.show();
        }
        else
        {
        Toast.makeText(getApplicationContext(), "GPS Enabled", Toast.LENGTH_LONG).show();
        }
    }
}

Untuk layout tampilan kita gunakan saja layout default, misalnya seperti ini :

main.xml :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

Pada Android Manifest harus ditambahkan permission untuk mengakses Device GPS :

AndroidManifest.xml :


<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.amijaya.androiddetectgps" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> </manifest>


Hasilnya :




Project selengkapnya silakan didownload disini :
https://docs.google.com/open?id=0B4i1FYc_4RXzeE96UVQ3eWxKWDA

Semoga bermanfaat, Selamat Mencoba.