[Google IO 2010] Android入门指导
2013-04-23 10:26
260 查看
使用Alarm
Alarm可以用来在未来某个时刻发出一个广播,从而唤醒应用程序。用这种机制来替代一个长期运行的Service。String alarm = Context.ALARM_SERVICE; AlarmManager am; am = (AlarmManager) getSystemService(alarm); Intent intent = new Intent("REFRESH_THIS"); PendingIntent op = PendingIntent.getBroadcast(this, 0, intent, 0); int type = AlarmManager.ELAPSED_REALTIME_WAKEUP; long interval = AlarmManager.INTERVAL_FIFTEEN_MINUTES; long triggerTime = SystemClock.elapsedRealtime() + interval; am.setRepeating(type, triggerTime, interval, op);
也可是使用非精确型Alarm,即拥有Alarm的全部好处,同时消耗更少的电量
am.setIntexactRepeating(type, tirggerTime, interval, op);
LBS服务
String serviceName = Context.LOCATION_SERVICE; LocationManager lm = (LocationManager) getSystemService(serviceName); LocationListener listener = new LocationListener() { public void onLocationChanged(Location location) { // TODO } ... }; lm.requestLocationUpdate("gps", 0, 0, 1); // 第二,三参数用来指定最小更新频率和距离
需要考虑的问题:
更新频率
处理GPS或者Wifi LBS关闭的情况
定位精度
对电池的消耗
处理地址跳跃
使用Criteria来选择定位器
Criteria可以指明对定位器的需求和偏好设置,可以只寻找活跃的定位器。
Criteria criteria = new Criteria(); criteria.setPowerRequirement(Criteria.POWER_LOW); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setSpeedRequired(false); criteria.setCostAllowed(false); String provider = lm.getBestProvider(criteria, true); lm.requestLocationUpdate(provider, freq, dist, l);
可以使用多个监听器,每个对应于不同的精度、频率或者距离。根据变化相应地增加和删除监听器。
private LocationListener lbounce = new LocationListener() { public void onLocationChanged(Location location) { runLocationUpdate(); if (location.getAccuracy() < 10) { lm.removeUpdates(lbounce); lm.removeUpdates(lcoarse); } } ... };
相关文章推荐
- Google IO 大会 2010:Android 2.2&Chrome&App Engine
- Google手机操作系统Android应用开发入门
- Android 网络通信框架Volley简介(Google IO 2013)
- Google IO:Android内存管理主题演讲记录
- 一起学Google Daydream VR开发,快速入门开发基础教程一:Android端开发环境配置一
- Google官方指导文章:开始用Kotlin开发Android
- 30天入门 Android 开发, Google 与你一起圆梦
- Android 网络通信框架Volley简介(Google IO 2013)
- Google手机操作系统Android应用开发入门
- 30天入门 Android 开发, Google 与你一起圆梦
- Google手机操作系统Android应用开发入门
- Android网络通信框架Volley简介(Google IO 2013)
- Android简单、快速的网络库: Volley ( Google IO 2013 )
- Android 网络通信框架Volley简介(Google IO 2013)
- Android 网络通信框架Volley简介(Google IO 2013)
- 关于应用Volley框架 + Android 网络通信框架Volley简介(Google IO 2013)
- Android 网络通信框架Volley简介(Google IO 2013)
- Google手机操作系统Android应用开发入门
- Android 网络通信框架Volley简介(Google IO 2013)
- Google.Android开发入门与实践-学习笔记2