zeev

GPS

Dec 21st, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.59 KB | None | 0 0
  1. AndroidManifest.xml
  2. ==============================
  3. <?xml version="1.0" encoding="utf-8"?>
  4. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  5.     package="com.example.zeevm.mygps">
  6.  
  7.     <uses-permission android:name="android.permission.INTERNET"/>
  8.     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  9.     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  10.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  11.  
  12.     <application
  13.         android:allowBackup="true"
  14.         android:icon="@mipmap/ic_launcher"
  15.         android:label="@string/app_name"
  16.         android:supportsRtl="true"
  17.         android:theme="@style/AppTheme">
  18.         <activity android:name=".MainActivity">
  19.             <intent-filter>
  20.                 <action android:name="android.intent.action.MAIN" />
  21.  
  22.                 <category android:name="android.intent.category.LAUNCHER" />
  23.             </intent-filter>
  24.         </activity>
  25.     </application>
  26.  
  27. </manifest>
  28.  
  29. MainActivity.java
  30. ==================
  31. package com.example.zeevm.mygps;
  32.  
  33. import android.Manifest;
  34. import android.app.Activity;
  35. import android.content.Context;
  36. import android.content.pm.PackageManager;
  37. import android.location.Location;
  38. import android.location.LocationListener;
  39. import android.location.LocationManager;
  40. import android.support.v4.app.ActivityCompat;
  41. import android.support.v7.app.AppCompatActivity;
  42. import android.os.Bundle;
  43. import android.widget.TextView;
  44. import android.widget.Toast;
  45.  
  46. public class MainActivity extends Activity implements LocationListener {
  47.  
  48.     TextView txtGPS;
  49.     Location myLocation;
  50.     Context context;
  51.  
  52.     @Override
  53.     protected void onCreate(Bundle savedInstanceState) {
  54.         super.onCreate(savedInstanceState);
  55.         setContentView(R.layout.activity_main);
  56.         setPointer();
  57.         runMain();
  58.     }
  59.  
  60.     private void runMain()
  61.     {
  62.         myLocation=getGPS();
  63.         String str="";
  64.         str+="Long    :"+myLocation.getLongitude();
  65.         str+="Lat     :"+myLocation.getLatitude();
  66.         str+="Alt     :"+myLocation.getAltitude();
  67.         str+="Provider:"+myLocation.getProvider();
  68.         str+="Bearing :"+myLocation.getBearing();
  69.         str+="Speed   :"+myLocation.getSpeed();
  70.         str+="Time    :"+myLocation.getTime();
  71.         str+="Accuracy:"+myLocation.getAccuracy();
  72.  
  73.         Location myLocation2=null;
  74.         //distance between two points.
  75.         double myDistance = myLocation.distanceTo(myLocation2);
  76.  
  77.     }
  78.  
  79.  
  80.     private void setPointer() {
  81.         this.context = this;
  82.         txtGPS = (TextView) findViewById(R.id.txtGPS);
  83.     }
  84.  
  85.     private Location getGPS() {
  86.         LocationManager manger = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
  87.  
  88.         if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
  89.                 ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
  90.             Toast.makeText(context, "There is no permission to GPS", Toast.LENGTH_SHORT).show();
  91.             return null;
  92.         }
  93.         Location locationGPS = manger.getLastKnownLocation(LocationManager.GPS_PROVIDER);
  94.         Location locationNET = manger.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
  95.  
  96.         long GPSlocationTime = locationGPS != null ? locationGPS.getTime() : 0;
  97.         long NetLocationTime = locationNET != null ? locationNET.getTime() : 0;
  98.         return (GPSlocationTime > NetLocationTime)?locationGPS:locationNET;
  99.     }
  100.  
  101.  
  102.     @Override
  103.     public void onLocationChanged(Location location) {
  104.         myLocation = location;
  105.     }
  106.  
  107.     @Override
  108.     public void onStatusChanged(String s, int i, Bundle bundle) {
  109.         //
  110.     }
  111.  
  112.     @Override
  113.     public void onProviderEnabled(String s) {
  114.         Toast.makeText(this, s + " is enabled", Toast.LENGTH_SHORT).show();
  115.     }
  116.  
  117.     @Override
  118.     public void onProviderDisabled(String s) {
  119.         Toast.makeText(this, s + " is disabled", Toast.LENGTH_SHORT).show();
  120.     }
  121. }
  122.  
  123.  
  124. activity_main.xml
  125. =========================
  126. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  127.     android:layout_width="match_parent"
  128.     android:layout_height="match_parent"
  129.     android:orientation="vertical">
  130.  
  131.     <TextView
  132.         android:id="@+id/txtGPS"
  133.         android:layout_width="wrap_content"
  134.         android:layout_height="wrap_content"
  135.         android:layout_gravity="center"
  136.         android:text="GPS DATA" />
  137.  
  138. </LinearLayout>
Add Comment
Please, Sign In to add comment