- 浏览: 52261 次
最新评论
1.获取最佳的Location Provider
GPS NETWORK PASSIVE
在AndroidManifest.xml中声明权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_ACOARSE_LOCATION"/>
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/ScanProvidersButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="测试当前设备的Providers"/> <Button android:id="@+id/bestProviderButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="最好的Provider"/> </LinearLayout>
Criteria:可以设置一系列的查询条件,用于查询当前设备中符合条件的Location Provider
具体参看android 帮助文档http://developer.android.com/reference/android/location/Criteria.html
import java.util.Iterator; import java.util.List; import android.app.Activity; import android.content.Context; import android.location.Criteria; import android.location.LocationManager; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Button scanProvider = null; private Button bestProvider = null; private LocationManager locationManager = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); locationManager = (LocationManager)MainActivity.this.getSystemService(Context.LOCATION_SERVICE); scanProvider = (Button)findViewById(R.id.ScanProvidersButton); bestProvider = (Button)findViewById(R.id.bestProviderButton); scanProvider.setOnClickListener(new providerOnClickListener()); bestProvider.setOnClickListener(new bestproviderOnClickListener()); } private class providerOnClickListener implements OnClickListener{ @Override public void onClick(View arg0) { //得到所有的provider,返回的是一个存放String的List List<String> providers = locationManager.getAllProviders(); System.out.println("providers:"); for(Iterator<String> it = providers.iterator();it.hasNext();){ String provider = (String)it.next(); System.out.println("============="+provider); } } } private class bestproviderOnClickListener implements OnClickListener{ @Override public void onClick(View arg0) { Criteria criteria = new Criteria(); //设置查找最好的provider的过滤条件 criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setSpeedRequired(false); criteria.setCostAllowed(false); //获得最好的provider,第二个参数表示是否考虑provider可用 String provider = locationManager.getBestProvider(criteria, false); System.out.println("best provider ---> "+provider); } } }
点击第一个按钮,打印出内容:
点击第二个按钮,打印出内容:
发表评论
-
anddroid 程序发布
2012-10-07 11:15 728右击项目文件,选择Export 选择保存密钥 ... -
Map操作总结
2012-10-04 12:30 736设置mapView显示用于缩放的工具条 ... -
google map
2012-09-29 20:33 908com.google.android.maps包, ... -
定位(5):代替Geocoder
2012-09-29 19:41 1287https://developers.google.com/m ... -
HttpClient工具类
2012-10-01 12:08 727在Android开发中我们经常会用到网络连接功能与服务器进行数 ... -
定位(4)
2012-09-29 22:12 6901.Geocoding介绍 是google的所提供的一项服务 ... -
定位(3:)追踪用户的位置
2012-09-27 21:01 513追踪用户的位置:得到用户移动的轨迹 注册权限: &l ... -
定位(1):获取位置
2012-09-27 17:21 6191.User Location能做什么? 获取用户的位置;3 ... -
错误总结
2012-09-26 21:22 733重启adb: 使用ADB工具,运行CMD,敲入如下命令 ... -
(九)菜单
2012-09-26 20:11 826menu键触发 三种形式:普通的option menu;上下 ... -
(八)按钮控件
2012-09-25 22:26 1050监听器: 监听器 方法 内容 OnCli ... -
(七)常用控件:TextView EditView
2012-09-25 19:50 1002TextView 布局: <TextView ... -
(六)界面优化
2012-09-24 20:22 478<merge/><include/><viewstub/> -
(五)层级管理器
2012-09-24 20:18 704android-sdk-windows\tools 目录下打 ... -
(四)布局
2012-09-24 17:46 704padding:描述控件里面的内容与控件的关机,内边距;有四个 ... -
(三)Activity生命周期
2012-09-24 17:04 806新的activity启动后,前一个activity ... -
(二)程序调试
2012-09-24 15:26 697一:LOG 的用法: package com.ex ... -
(一)开发环境搭建
2012-09-16 20:31 610最近半个月时间看得头都疼了,不喜欢天天对着电脑,但是肿么办呢, ... -
安卓SDK无法下载Package
2012-09-16 18:55 814打开目录: 用记事本打开:hosts ...
相关推荐
在Android系统中,网络提供者(Network Provider)是Android定位服务的一种方式,它主要依赖于移动数据网络(如GSM、CDMA、LTE等)来获取设备的位置信息。本项目"android network_provider"是一个在Eclipse环境下...
2. **实现ContentProvider类**:自定义的Content Provider需要继承自`ContentProvider`,并实现其关键方法: - `onCreate()`: 初始化工作,通常用于创建数据库或设置初始状态。 - `query(Uri uri, String[] ...
- Uri是Content Provider中的关键标识,用于定位特定的数据。`UriMatcher`是一个工具类,帮助解析Uri并返回对应的操作代码,简化了Uri的处理。 3. **CursorLoader** - CursorLoader是AsyncTaskLoader的一个子类,...
2. **定位报错路径**:根据Xcode报错信息,找到具体缺失FileProvider.framework的路径。这通常会在项目的"Linked Frameworks and Libraries"部分显示。 3. **复制框架**:将解压后的FileProvider.framework文件复制...
2. **易于使用**:即使对TestNG不熟悉的开发者,也能快速上手Junit Dataprovider,因为它与原生的JUnit API保持了高度的兼容性。 3. **丰富的配置选项**:Junit Dataprovider支持多种配置,如设置执行顺序、跳过失败...
使用 Fused provider 和 GoogleMap 跟踪位置 目标 本 Android 教程将引导您使用 Android 位置 API 和 Google 地图服务创建位置跟踪器。 这主要处理两个方面,使用位置 API 不断获取用户位置并在 GoogleMap 中显示...
在Android平台上,获取设备位置信息是一项关键功能,通常可以通过GPS(全球定位系统)和基站定位两种方式实现。本文将深入探讨这两种方法...结合实际的项目需求,开发者可以灵活选择定位策略,为用户提供更优质的服务。
2. 设置定位参数:可以设置定位的最小更新距离和时间,以及选择定位提供者(如GPS)。 3. 请求定位更新:调用LocationManager的requestLocationUpdates方法,传入LocationListener,当位置发生变化时,该监听器会被...
在Android中,通常使用`LocationManager`与`LocationProvider`接口进行定位操作。 ### 2. 混合定位的优势 - **提高定位成功率**:单一的定位服务可能在某些环境下表现不佳,例如室内、高楼密集区。混合定位可以利用...
此外,Android系统提供了 fused location provider(融合定位服务),这是一个更高级的定位API,它能智能地管理不同的定位源,自动选择最优的定位方式。开发者可以使用`FusedLocationProviderClient`来获取更加省电...
这个压缩包“通过Criteria获得LocationProvider.zip”包含的代码示例,旨在教你如何有效地利用Android的Criteria类来选择最适合的LocationProvider。Criteria类是Android API提供的一种工具,用于根据特定的需求筛选...
在Android开发中,实现“仿美团城市定位选择”的功能是一项常见的需求,这涉及到地理定位、UI设计以及数据管理等多个方面。下面将详细讲解这个过程中的关键知识点。 首先,我们需要了解地理定位的基础。在Android中...
3. **故障排查**:如果用户反馈推送通知出现问题,开发者可以使用此工具模拟问题环境进行测试和定位问题。 4. **性能优化**:通过大规模的推送测试,可以评估应用在大量推送消息下的性能,优化通知的发送效率。 ##...
3. **选择定位Provider** `LocationManager`提供了多种定位提供者,如`GPS_PROVIDER`和`NETWORK_PROVIDER`。根据需求,你可以选择一个或多个提供者: ```java String provider = locationManager....
Google Play服务中的Fused Location Provider是推荐的定位API,它优化了电源效率,能根据设备状态选择最佳定位源。使用`FusedLocationProviderClient`可以更方便地获取位置。 5. 许可证: 自Android 6.0(API级别...
在Android开发中,`android.provider`包是系统提供的一个核心包,主要用于与系统的各种内容提供者(Content Provider)进行交互。这些内容提供者是Android系统数据共享的关键组件,它们允许应用访问并操作如联系人、...
- **集成**:在Android应用中,可以创建一个`LocationManager`实例,通过`requestLocationUpdates()`方法订阅定位更新,选择合适的定位提供者(如`LocationManager.GPS_PROVIDER`或`LocationManager.NETWORK_...
在Android系统中,GPS(全球...总结起来,Android的GPS定位涉及到了`LocationManager`、不同定位提供者的选择以及权限管理等多个方面。理解并熟练运用这些知识点,可以帮助开发者创建出高效、用户体验优秀的定位应用。
除了原生的LocationManager,还可以使用Google Play服务中的Fused Location Provider API,它能更智能地管理定位服务,提高定位效率和准确性。 综上所述,Android后台服务定位涉及多个层次的知识,包括服务的创建与...