android定位服务:查看位置源及其属性
2015-12-14 00:00
330 查看
activity_main.xml:
LocationProviderActivity.java:
在 android配置文件中,增加android.permission.ACCESS_FINE_LOCATION权限:
AndroidManifest.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".LocationProviderActivity" > <TextView android:id="@+id/location" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" android:textSize="30dp"/> </RelativeLayout>
LocationProviderActivity.java:
package com.example.demolocation; import java.util.Iterator; import java.util.List; import android.app.Activity; import android.location.Criteria; import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import android.widget.TextView; public class LocationProviderActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); StringBuilder sb = new StringBuilder(); LocationManager manager = (LocationManager)getSystemService(LOCATION_SERVICE); List<String> providers = manager.getAllProviders(); String str = ""; LocationProvider provider = null; for(Iterator<String> it = providers.iterator();it.hasNext();){ str = it.next(); sb.append("位置源:"+str+"\n精度:"); provider = manager.getProvider(str); switch(provider.getAccuracy()){ case Criteria.ACCURACY_COARSE: sb.append("中等精度"); break; case Criteria.ACCURACY_FINE: sb.append("低等精度"); break; case Criteria.ACCURACY_HIGH: sb.append("高等精度"); break; } sb.append("\n耗电量:"); switch(provider.getPowerRequirement()){ case Criteria.POWER_HIGH: sb.append("高耗电量"); break; case Criteria.POWER_MEDIUM: sb.append("中耗电量"); break; case Criteria.POWER_LOW: sb.append("低耗电量"); break; } sb.append("\n-------------\n"); } TextView text = (TextView)findViewById(R.id.location); text.setText(sb.toString()); } }
在 android配置文件中,增加android.permission.ACCESS_FINE_LOCATION权限:
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.demolocation" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.demolocation.LocationProviderActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
相关文章推荐
- android下载插件
- android TabHost选项卡示例
- android Service:分别继承IntetnService与Service示例
- android SQLite数据库使用实例
- androidpn消息下推(1)
- android文件访问实例
- androidpn消息下推2
- android Bound Service使用:使用Message类绑定服务
- android ContextMenu 上下文菜单示例
- android Bound Service使用:继续Binder类绑定服务
- android GridView视图的案例
- android 开发LayoutInflater之我见
- android Menu 选项菜单示例
- android ContentProvider 使用实例
- android Notification 状态栏通知使用示例
- android 备忘录之简单实现
- android Toast 消息提示 例子
- android gallery 画廊控件示例
- android 发送e-mail实例
- android Dialog对话框使用示例