Android 保护位置测试
Android Secure the Location test
大家好我很好奇如何解决下面代码中的位置安全问题:
private void myLocaion(){
Criteria criteria = new Criteria();
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
final String myBestProvider = locationManager.getBestProvider(criteria, false);
Toast.makeText(gtApplicationContext(), myBestProvider, Toast.LENTH_SHORT).show();
myLocationListener = new LocationListener{
public void onLocationChaned(Location location){
Toas.makeText(getApplicationContext(),
location.getLatitude() + " " +
location.getLongiude(), Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras){}
public void onProviderEnabled(String provider){}
public void onProviderDisabled(String provider){}
};//LocationListener
locationManager.requestLocationUpdates(MyBestProvider, 0, 0, myLocationListener)
}
好像是Android Studio 的开发环境关于这段代码安全问题的声明:
locationManager.requestLocationUpdates(MyBestProvider, 0, 0, myLocationListener)
Android API: 23
Android API 23操作码前需要安全审核
有3种方法可以解决这个问题:
1)尽量给开发环境修复安全码需求
2) 编译较旧的开发环境Android Studio
3) 更改目标版本
更改方法如下:
文件 -> 项目结构.. -> 风格 -> Targer Sdk 版本
如果到目前为止一切正常,您可以提前编写应用程序并发送位置信息方法onLocationChanged( )
映射功能:
Uri.parse("geo:" + myLocation.getLatitude() + "," myLocation.getLongitude())
然后:
public void showMap( Uri geoLocation ){
Intent intent = new Intent (Intent.ACTION_VIEW);
Intent.setData(geoLocation);
if (intent.resolveActivity(getPackageManager()) != null){
startActivity(intent);
locationManager.removeUpdates(mylocationListener;)
}
}
大家好我很好奇如何解决下面代码中的位置安全问题:
private void myLocaion(){
Criteria criteria = new Criteria();
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
final String myBestProvider = locationManager.getBestProvider(criteria, false);
Toast.makeText(gtApplicationContext(), myBestProvider, Toast.LENTH_SHORT).show();
myLocationListener = new LocationListener{
public void onLocationChaned(Location location){
Toas.makeText(getApplicationContext(),
location.getLatitude() + " " +
location.getLongiude(), Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras){}
public void onProviderEnabled(String provider){}
public void onProviderDisabled(String provider){}
};//LocationListener
locationManager.requestLocationUpdates(MyBestProvider, 0, 0, myLocationListener)
}
好像是Android Studio 的开发环境关于这段代码安全问题的声明:
locationManager.requestLocationUpdates(MyBestProvider, 0, 0, myLocationListener)
Android API: 23
Android API 23操作码前需要安全审核
有3种方法可以解决这个问题:
1)尽量给开发环境修复安全码需求
2) 编译较旧的开发环境Android Studio 3) 更改目标版本更改方法如下:
文件 -> 项目结构.. -> 风格 -> Targer Sdk 版本onLocationChanged( )
映射功能:
Uri.parse("geo:" + myLocation.getLatitude() + "," myLocation.getLongitude())
然后:
public void showMap( Uri geoLocation ){
Intent intent = new Intent (Intent.ACTION_VIEW);
Intent.setData(geoLocation);
if (intent.resolveActivity(getPackageManager()) != null){
startActivity(intent);
locationManager.removeUpdates(mylocationListener;)
}
}