本文介绍了checkSelfPermission空指针6.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个检查permisions问题总是说我的空指针在调试6.0:
我在做什么错
公共字符串getGeolocation(上下文的背景下){ 尝试{
INT MY_PERMISSION_ACCESS_COURSE_LOCATION = 1000; 如果(ContextCompat.checkSelfPermission(上下文,android.Manifest.permission.ACCESS_COARSE_LOCATION)!= PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(这一点,新的String [] {} android.Manifest.permission.ACCESS_COARSE_LOCATION,
MY_PERMISSION_ACCESS_COURSE_LOCATION);
}
如果(Build.VERSION.SDK_INT> = 23安培;&安培;
ContextCompat.checkSelfPermission(背景下,android.Manifest.permission.ACCESS_FINE_LOCATION)= PackageManager.PERMISSION_GRANTED和放大器;!&安培;
ContextCompat.checkSelfPermission(上下文,android.Manifest.permission.ACCESS_COARSE_LOCATION)!= PackageManager.PERMISSION_GRANTED){
//返回0;
}
mLocationManager =(的LocationManager)getSystemService(Context.LOCATION_SERVICE); //这里是空指针
//地点位置= mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
地点= mLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
如果(!位置= NULL&放大器;&安培; location.getTime()> Calendar.getInstance()getTimeInMillis() - 2 * 60 * 1000){
//做一些与最近的位置锁定
//否则等待下面的更新
}
其他{
//mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,这一点);
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,这一点);
}
}赶上(例外五){}
返回地球;}
//我用这个方法来获得数据:
公共无效onLocationChanged(地点){
如果(位置!= NULL){
Log.v(位置发生改变,location.getLatitude()+和+ location.getLongitude());
缘=+ location.getLatitude()+,+ location.getLongitude();
mLocationManager.removeUpdates(本);
}
}
这是Android的工作室错误异常:
java.lang.IllegalStateException:之前的onCreate不向活动系统服务()
在哪里我叫getGeolocation()?
公共类AlarmReceiverCustom扩展广播接收器{
@覆盖
公共无效的onReceive(上下文的背景下,意图意图){
getGeolocation(上下文)
解决方案
您正在给一个上下文 getGeolocation()
,还是你打电话 getSystemService()
对象本身。
您可能需要使用您传递的上下文:
mLocationManager =(的LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
但你必须要考虑的接收机和流程生命周期太:
So you better reimplement this part of your application and use a Service to update the location.
这篇关于checkSelfPermission空指针6.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!