成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

剖析Android增強功能的兩種權限請求

移動開發 Android
在實現了Android增強功能現實引擎的前兩個元素即攝像頭與指南針之后,下一步要做的就是確定位置。

為了完成Android增強功能這項任務,我們主要用到Android的LocationManager對象,在進行操作該項目之前,我們需要解決一些Android的其他問題,其中權限是我們首先要掃除的***個障礙。

Android增強功能的LocationManager支持兩種權限請求:

1. 需要告知系統您希望取得用戶的位置。
2. 需要告訴它您想要十分詳細的地理信息。

您需要在AndroidManifest.xmlxml 文件<manifes獲得位置管理器看起來好像挺簡單的,但是還是得牢記一些事項。首先,我們也許只能在UI主線程中請求位置管理器。我們要么在有關動作的onCreate調用中請求LocationManager對象,要么使用LocationManager請求創建一個運行于主線程的可執行對象。

如您所見,這里聲明了一個LocationManager對象,使用getSystemService獲得您的對象,然后調用了requestLocationUpdates。您可能想知道位置更新時需要哪些參數。首先,您告訴系統,您想使用系統中GPS裝置的位置更新功能。然后。

您告訴它您希望多長時間更新一次(本例時間間隔為100ms),并且每當移動一米以上時就更新。這樣,就能迅速識別他們的移動情況并調整它們與其他對象的位置關系。***,傳入實現LocationListener接口的類的實例。為位置更新傳遞請求后,LocationListener類將收到初始位置,繼之以后來位置的改變情況。下面是我們的LocationListener:

  1. LocationListener gpsListener = new LocationListener(){  
  2.       Location curLocation;  
  3.       boolean locationChanged = false;   
  4.       public void onLocationChanged(Location location)  
  5.       {  
  6.          if(curLocation == null)  
  7.          {  
  8.             curLocation = location;  
  9.             locationChanged = true;  
  10.          }  
  11.            
  12.          if(curLocation.getLatitude() == location.getLatitude() &&  
  13.                curLocation.getLongitude() == location.getLongitude())  
  14.             locationChanged = false;  
  15.          else  
  16.             locationChanged = true;  
  17.            
  18.          curLocation = location;  
  19.       }  
  20.       public void onProviderDisabled(String provider){}  
  21.       public void onProviderEnabled(String provider){}  
  22.       public void onStatusChanged(String provider, int status, Bundle extras){}  
  23. }; 

在上面的代碼中,我們唯一需要關心的就是onLocationChanged這個方法。然而,我們還會介紹這個對象的其它方法。以便您將這個對象復制到您自己的代碼中時能夠了解它們。 一旦衛星鎖定了這個設備,方法onLocationChanged就會被調用,之后每經過在請求更新時指定的時間間隔(本例中為100ms)后,就會調用一次。

每當位置更新時,Android增強功能都會帶來一個Location對象。我們通過這個類可以獲得目標的經緯度,并完成許多重要事情。這里我們最感興趣的方法是getLatitude()、getLongitude()、bearingTo()與distanceTo()。使用這四個函數,我們可以計算出任何隨后的位置的方位角,并確定出離您的距離有多遠。

【編輯推薦】

  1. 新一代的Android手機介紹
  2. 深度剖析Android SDK版本介紹
  3. 谷歌Android手機能否站穩中國
  4. PythonAndroid深度剖析Android應用程序的四種構 造塊
  5. 探秘與眾不同的Android系統?
責任編輯:chenqingxiang 來源: 51CTO.com
相關推薦

2010-09-17 09:37:27

Java安裝方法

2010-07-28 09:29:36

Flex DataGr

2010-01-12 10:57:16

C++的復雜性

2020-09-24 10:09:01

GETPOST前端

2009-09-14 19:25:09

Ruby form

2010-10-11 10:31:51

MySQL分區

2013-05-27 14:31:34

Hadoop 2.0

2021-05-27 10:57:01

TCP定時器網絡協議

2013-06-27 09:26:50

Android界面刷新

2010-03-11 14:34:47

Python環境

2011-03-03 10:26:04

Pureftpd

2010-08-06 09:38:11

Flex讀取XML

2021-08-11 06:57:16

ShuffleSpark核心

2010-06-07 17:41:42

Sendmail 配置

2023-03-29 13:06:36

2010-07-14 16:28:58

配線架

2022-03-15 08:25:32

SparkShuffle框架

2011-04-06 12:41:41

Java異常

2009-06-25 13:43:00

Buffalo AJA

2010-10-21 16:24:18

sql server升
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色秀网站 | 国产一区亚洲 | 亚洲国产91 | 中文字幕精品一区二区三区精品 | 在线日韩中文字幕 | 欧美嘿咻 | 久久综合狠狠综合久久综合88 | 欧美成人精品在线 | 激情福利视频 | 欧美激情久久久 | 人成精品 | 日韩在线资源 | 在线观看黄色 | 久久亚洲一区 | 久久精品av麻豆的观看方式 | 亚洲精品日韩视频 | 国产欧美日韩在线一区 | a级大片免费观看 | 蜜桃在线视频 | 在线观看视频中文字幕 | 综合色站导航 | 国产97久久 | 国产高清视频一区 | 日韩精品免费 | 国产一区不卡 | 中文字幕久久精品 | 2020天天操 | 午夜精品在线观看 | 影音先锋中文字幕在线观看 | av手机免费在线观看 | 91性高湖久久久久久久久_久久99 | 黄视频网站在线 | 色综合久久88色综合天天 | 99热碰 | 色婷婷影院 | 久久青视频| 91久久久精品国产一区二区蜜臀 | 日韩在线观看中文字幕 | 欧美成人激情视频 | 欧美一区二区三区在线观看 | 九九av|