android手機定位在中國還是有些坑的。
首先android的定位方式分為三種:gps,net_work,passive
具體問題**見:
1.獲取定位管理服務:
locationmanager mglocation=(locationmanager)mainactivity.this.getsystemservice(context.location_service);
2.獲取定位
//gps定位
location location_1=mglocation.getlastknownlocation(locationmanager.gps_provider);
//網路基站定位
location location_2=mglocation.getlastknownlocation(locationmanager.network_provider);
//手機服務商定位
location location_3=mglocation.getlastknownlocation(locationmanager.passive_provider);
其中坑的是gps定位,在中國,你在室內開發時,你的手機根本就沒法獲取位置資訊
獲取許可權:
//設定實時定位間隔
mglocation.requestlocationupdates(locationmanager.passive_provider, 1000, 0, mainactivity.this);
//其中mainactivity.this表示的是locationlistener,
因為:mainactivity extends activity implements locationlistener
//複寫方法:
@override
public void onlocationchanged(location location)
location為定位成功後的位置
開啟手機gps的intent:
intent intent=new intent();
intent.setaction(setting.action_location_source_settings);
startactivity(intent);
最後介紹一下通過wifi定位:
首先獲取wifi的mac位址
然後將mac位址傳送給google,獲取google分析過來的地理位置
上面這個方法僅作為學習使用,因為偉大的牆的原因,google 的**我們是連不上去滴
注:locationmanager.passive_provider定位貌似只能使用一次,不能連續監聽,下次使用還需要重新呼叫方法
具體並未嘗試太多,有新發現可以共同討論
監聽Android手機的呼叫狀態
telephonymanager作為乙個service介面提供給使用者查詢 相關的內容,比如imei,linenumber1等。通過下面的 即可獲得telephonymanager的例項。telephonymanager mtelephonymgr telephonymanager this get...
Unity 呼叫Android手機觸屏事件
一 下面先說經常用的三個事件 手指按下 手指移動 手指鬆開 1.手指按下if input touchcount 1 2.手指在螢幕上滑動 if input touchcount 1 if input touches 0 phase touchphase move 3.手指在螢幕上鬆開時 if inp...
Android定位方式和測試方法
android常用的三種定位方式有 基於gps定位 基於基站地位 基於wifi定位。1 基於gps定位 gps定位需要gps模組 硬體 的支援,沒有gps模組是無法進行gps定位的。gps定位最大的優點就是其定位精確度高 一般誤差在10m內 無網路也能用 缺點就是耗電高 定位慢 室內和地下室基本定位...