В настоящее время я делаю приложение, которое включает в себя функцию, позволяющую пользователю взять Uber домой одним нажатием кнопки. Я узнал, что диплинкинг делает свое дело. Однако я не совсем уверен, как я могу получить широту и долготу дома пользователя. Я был бы очень признателен за вашу помощь в этом вопросе. Хорошего дня. Показан способ получения uri для диплинкинга.
private String getUberUri() {
StringBuilder uberUri = new StringBuilder("uber://?action=setPickup&client_id=LNC3kco5fh8RGBhJF9hJtqRKPSPCxMt-");
uberUri.append("&pickup=my_location");
uberUri.append("&dropoff[nickname]=").append(placeBundle.getString("NAME", "Dropoff"));
uberUri.append("&dropoff[latitude]=").append(placeBundle.getDouble("PLACE_LAT"));
uberUri.append("&dropoff[longitude]=").append(placeBundle.getDouble("PLACE_LNG"));
return uberUri.toString();
}
Это кнопка onClickListener:
Button uberButton = (Button) findViewById(R.id.uberButton);
uberButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
if (isPackageInstalled("com.ubercab")) {
Intent uberIntent = new Intent();
uberIntent.setData(Uri.parse(getUberUri()));
mActivity.startActivity(uberIntent);
} else {
Toast.makeText(mActivity, "Please install Uber", Toast.LENGTH_SHORT).show();
Uri uberPlayStoreUri = Uri.parse(
"https://play.google.com/store/apps/details?id=com.ubercab");
Intent uberIntent = new Intent(Intent.ACTION_VIEW, uberPlayStoreUri);
uberIntent.setPackage("com.android.vending");
mActivity.startActivity(uberIntent);
}
}
}
);