【发布时间】:2018-11-18 09:14:36
【问题描述】:
我正在尝试获取用户的当前位置,但我的应用程序崩溃了,我只是不明白如何让它工作:
这是 Google Play 服务位置 API,我按照此处所示的说明进行操作:Location and context overview,但我的代码不起作用
public class MainActivity extends AppCompatActivity {
private FusedLocationProviderClient mFusedLocationClient;
private LocationCallback mLocationCallback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(10000);
mLocationRequest.setFastestInterval(5000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
startLocationUpdates(mLocationRequest);
mLocationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
if (locationResult == null) {
return;
}
for (Location location : locationResult.getLocations()) {
TextView tv = (TextView)findViewById(R.id.tv);
Double latitude = location.getLatitude();
String latitudeString = location.toString();
tv.setText(latitudeString);
}
};
};
}
private void startLocationUpdates(LocationRequest mLocationRequest) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
TextView tv = (TextView)findViewById(R.id.tv);
tv.setText("Not Permitted");
} else {
mFusedLocationClient.requestLocationUpdates(mLocationRequest,
mLocationCallback,
null /* Looper */);
}
}
}
崩溃消息是:
尝试调用虚拟方法 'com.google.android.gms.tasks.Task com.google.android.gms.location.FusedLocationProviderClient.requestLocationUpdates(com.google.android.gms.location.LocationRequest, com.google. android.gms.location.LocationCallback, android.os.Looper)' 在空对象引用上
【问题讨论】:
-
code you please crash message
标签: android