首页 > 编程知识 正文

基于android的设计与实现,Android原生系统

时间:2023-05-04 00:58:33 阅读:165519 作者:4401

package com.example.my study.com mont;

import android.Manifest;

import android.content.Context;

import android.content.Intent;

import Android.content.pm.package manager;

import android.location.Address;

import Android.location.criteria;

import Android.location.geocoder;

import Android.location.location;

import android.location.hpdhf;

import Android.location.location manager;

import android.os.Bundle;

import Android.provider.settings;

import android.util.Log;

importandroidx.core.app.activity compat;

import com.example.my study.main activity;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

public class GPS {

私有上下文上下文;

权限位置管理器;

privatestaticfinalstringtag=' GPS-info ';

公共GPS (上下文上下文) {

this.context=context;

initLocationManager (;

}

//*

privatevoidinitlocationmanager {

位置管理器=(位置管理器) context.getsystemservice (context.location _ service );

if (! location manager.isproviderenabled (Android.location.location manager.GPS _ provider ) }{

//进入手机设置画面,用户设定bzdzc/p

intent.add flags (intent.flag _ activity _ new _ task );

context.startactivity(intent );

}

getProviders (;

}

//*

private诚心诚意的甜瓜myhpdhf;

私有字符串最佳提供商;

私有语音获取提供程序(

//获取定位gddbq

list providers=location manager.get providers (true;

for (strings 3360提供程序) {

log.e(tag,s );

}

Criteria criteria=new Criteria (;

//查询精度:高,Criteria.ACCURACY_COARSE比较粗糙,Criteria.ACCURACY_FINE比较准确

criteria.set accuracy (criteria.accuracy _ fine );

//是否查询拨入:否

criteria.setaltituderequired (true;

//是否查询方位角:否

criteria.setbearingrequired (false;

//设定是否需要速度

criteria.set speed required (false;

//电力要求:低

criteria.setpowerrequirement (criteria.accuracy _ low;

myhpdhf=new诚心诚意的甜瓜(;

}

公共void开始位置(

if (context,manifest.permission.access _ fine _ location )!=package manager.permission _ grantedactivitycompat.checkselfpermission (context,manifest.permission.access _ coa

//todo :密码呼叫

//activity compat # request permissions

//heretorequestthemissingpermissions,and then overriding

//publicvoidonrequestpermissionsresult (intrequestcode,String[] permissions,

//int[] grantResults )

//tohandlethecasewheretheusergrantsthepermission.see the documentation

//foractivitycompat # requestpermissionsformoredetails。

返回;

}

log.e(tag,' startLocation: ' );

location manager.requestlocationupdates (best provider,0,0,myhpdhf );

}

公共语音停止位置(

log.e(tag,' stopLocation: ' );

location manager.remove updates (myhpdhf;

}

private class诚心诚意的甜瓜implements hpdhf {

@Override

publicvoidonlocationchanged (位置定位) {

//定位时调用

log.e(tag,' onLocationChanged ' );

列表

addresses=new ArrayList (; //用纬度和经度转动城市

地理空间地理空间=新地理空间(context;

try {

addresses=geocoder.getfromlocation (location.get latitude ),location.getLongitude ),10 );

}catch(ioexceptione ) {

e .打印任务跟踪(;

}

地址地址:地址(for )

//国家CN

log.e(tag,address.getCountryCode ) );

//国家

log.e(tag,address.getCountryName ) );

//省市、地址

log.e(tag,address.getAdminArea ) );

log.e(tag,address.getLocality ) );

log.e(tag,address.getFeatureName ) );

//纬度经度

log.e(tag,string.valueof ) address.getlatitude () );

log.e(tag,string.valueof ) address.getlongitude () );

//log.e(tag,address.getAddressLine ) );

}

}

@Override

publicvoidonstatuschanged (string provider,int status,Bundle extras ) {

//定位状态改变

log.e(tag,' onStatusChanged ' );

}

@Override

公共提供程序(string providerenabled ) {

//定位on

log.e(tag,' onProviderEnabled ' );

}

@Override

公共提供程序(string provider ) {

//定位关闭

log.e(tag,' onProviderDisabled ' );

}

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。