Android obtains GPS and androidgps positioning.
AndroidManifest. xml
<? Xml version = "1.0" encoding = "UTF-8"?> <Manifest xmlns: android = "http://schemas.android.com/apk/res/android" package = "com. example. yanlei. yl5 "> <uses-permission android: name =" android. permission. READ_CONTACTS "/> <uses-permission android: name =" android. permission. WRITE_CONTACTS "/> <uses-permission android: name =" android. permission. VIBRATE "/> <uses-permission android: name =" android. permission. ACCESS_COARSE_LOCATION "/> <uses-permission android: Name = "android. permission. SET_WALLPAPER "/> <uses-permission android: name =" android. permission. WRITE_EXTERNAL_STORAGE "/> <uses-permission android: name =" android. permission. SEND_SMS "/> <uses-permission android: name =" android. permission. RECEIVE_SMS "/> <uses-permission android: name =" android. permission. RECEIVE_MMS "/> <uses-permission android: name =" android. permission. WRITE_SMS "/> <uses-permission android: na Me = "android. permission. READ_SMS "/> <uses-permission android: name =" android. permission. NFC "/> <uses-permission android: name =" android. permission. TRANSMIT_IR "/> <uses-permission android: name =" android. permission. READ_PHONE_STATE "/> <! -- For android. media. audiofx. Visualizer --> <uses-permission android: name = "android. permission. RECORD_AUDIO"/> <! -- We will request access to the camera, saying we require a camera of some sort but not one with autofocus capability. --> <uses-permission android: name = "android. permission. CAMERA "/> <! -- Connect to <a href = "http://www.it165.net/news/nhlw/" target = "_ blank" class = "keylink"> Internet </a> Internet permissions --> <uses-permission android: name = "android. permission. INTERNET "/> <! -- GPS Positioning permission --> <uses-permission android: name = "android. permission. ACCESS_COARSE_LOCATION "/> <uses-permission android: name =" android. permission. ACCESS_FINE_LOCATION "/> <application android: allowBackup =" true "android: icon =" @ mipmap/ic_launcher "android: label =" @ string/app_name "android: theme = "@ style/AppTheme"> <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> </manifest>
Activity_main.xml
<LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" android: id = "@ + id/layout" android: layout_width = "match_parent" android: layout_height = "match_parent" android: background = "@ android: color/white" android: orientation = "vertical"> <TextView android: id = "@ + id/TV" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "latitude and longitude information:" android: textColor = "#660000" android: textSize = "20sp"/> </LinearLayout>
MainActivity. java
Package com. example. yanlei. yl5; import android. app. pendingIntent; import android. content. context; import android. content. intent; import android. location. location; import android. location. locationListener; import android. location. locationManager; import android.net. uri; import android. OS. bundle; import android. OS. handler; import android. provider. settings; import android. support. v7.app. appCompatActivity; import Android. util. log; import android. view. menu; import android. view. menuItem; import android. widget. textView; // import java. util. logging. handler; public class MainActivity extends AppCompatActivity {private static final String TAG = MainActivity. class. getSimpleName (); private double latitude = 0.0; private double longpolling = 0.0; private TextView info; private LocationManager locationManager; @ Override pr Otected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); // requestWindowFeature (Window. FEATURE_CUSTOM_TITLE); setContentView (R. layout. activity_main); info = (TextView) findViewById (R. id. TV); locationManager = (LocationManager) getSystemService (Context. LOCATION_SERVICE); if (locationManager. isProviderEnabled (LocationManager. GPS_PROVIDER) {getLocation (); // gps enabled} el Se {toggleGPS (); new Handler (){}. postDelayed (new Runnable () {@ Override public void run () {getLocation () ;}, 2000) ;}} private void toggleGPS () {Intent gpsIntent = new Intent (); gpsIntent. setClassName ("com. android. settings "," com. android. settings. widget. settingsAppWidgetProvider "); gpsIntent. addCategory ("android. intent. category. ALTERNATIVE "); gpsIntent. setData (Uri. parse ("custom: 3"); try {PendingIntent. getBroadcast (this, 0, gpsIntent, 0 ). send ();} catch (PendingIntent. canceledException e) {e. printStackTrace (); locationManager. requestLocationUpdates (LocationManager. NETWORK_PROVIDER, 1000, 0, locationListener); Location location1 = locationManager. getLastKnownLocation (LocationManager. NETWORK_PROVIDER); if (location1! = Null) {latitude = location1.getLatitude (); // longitude longpolling = location1.getlongpolling (); // latitude }}private void getLocation () {Location location = locationManager. getLastKnownLocation (LocationManager. GPS_PROVIDER); if (location! = Null) {latitude = location. getLatitude (); longdistance = location. getlongpolling ();} else {locationManager. requestLocationUpdates (LocationManager. GPS_PROVIDER, 1000, 0, locationListener);} info. setText ("latitude:" + latitude + "\ n" + "longitude:" + longpolling);} LocationListener locationListener = new LocationListener () {// trigger this function @ Override public void onStatusChanged (String pr Ovider, int status, Bundle extras) {} // This function is triggered when the Provider is enabled. For example, if GPS is enabled, @ Override public void onProviderEnabled (String provider) {Log. e (TAG, provider);} // This function is triggered when the Provider is disable. For example, if GPS is disabled @ Override public void onProviderDisabled (String provider) {Log. e (TAG, provider) ;}// this function is triggered when the coordinates change. If the Provider transmits the same coordinates, it will not be triggered @ Override public void onLocationChanged (Location location) {if (location! = Null) {Log. e ("Map", "Location changed: Lat:" + location. getLatitude () + "Lng:" + location. getlongpolling (); latitude = location. getLatitude (); // longitude longpolling = location. getlongpolling (); // latitude }}; // second method of enabling and disabling gps private void openGPSSettings () {// obtain the current GPS status (ON or OFF) boolean gpsEnabled = Settings. secure. isLocationProviderEnabled (getContentResolver (), LocationManager. GPS_PROVIDER); if (gpsEnabled) {// disable GPS Settings. secure. setLocationProviderEnabled (getContentResolver (), LocationManager. GPS_PROVIDER, false);} else {// enable GPS Settings. secure. setLocationProviderEnabled (getContentResolver (), LocationManager. GPS_PROVIDER, true) ;}@ Override public boolean onCreateOptionsMenu (Menu menu) {// Inflate the menu; this adds items to the action bar if it is present. getMenuInflater (). inflate (R. menu. menu_main, menu); return true;} @ Override public boolean onOptionsItemSelected (MenuItem item) {// Handle action bar item clicks here. the action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest. xml. int id = item. getItemId (); // noinspection SimplifiableIfStatement if (id = R. id. action_settings) {return true;} return super. onOptionsItemSelected (item );}}