checkInBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String now = sdf.format(new Date());
if(ActivityCompat.checkSelfPermission(MainActivity.this, ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED)
{
return;
}
fusedLocationProviderClient.getLastLocation().addOnSuccessListener(MainActivity.this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if(location!=null){
Geocoder geocoder = new Geocoder(MainActivity.this,Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(location.getLatitude(),location.getLongitude(),1);
String loc = addresses.get(0).getAddressLine(0);
System.out.println(loc);
fDatabase2 = FirebaseDatabase.getInstance().getReference().child("CHECK IN").child(mName).child("PLACE");
fDatabase2.push().setValue(loc).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
//Toast.makeText(MainActivity.this,"Check in place Successful",Toast.LENGTH_SHORT).show();
}
});
}
Это то, что я реализовал для кнопки onClick (). Я хочу сохранить текущее местоположение и время в базе данных Firebase при нажатии кнопки. Однако, несмотря на то, что функция времени работает нормально, местоположение все время равно нулю. Могу ли я узнать, почему и как мне узнать текущее местоположение пользователя с помощью геокодера. Пожалуйста, проверьте это для меня. Спасибо !!