Ich habe eine Anwendung, die Google Places API verwendet. Sobald ich auf einen Ort klicke, wird der Name des Unternehmens, die Adresse und die Nummer an MainActivity zurückgegeben. Wenn ich auf die Nummer klicke, kann ich den Dialer öffnen, aber ich kann nicht die Nummer, die auf dem MainActivity zurückgegeben wird, in dem Dialer abrufen. Irgendwelche Ideen, wie ich das machen könnte. DankSo öffnen Sie Dialer am Telefon mit einer ausgewählten Nummer in Android
My-Code ist wie folgt
MainActivity
private TextView mName;
private TextView mAddress;
private TextView mNumber;
private static final LatLngBounds Sligo = new LatLngBounds(
new LatLng(54.27, -8.47), new LatLng(54.27, -8.47));
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_main);
mName = (TextView) findViewById(R.id.textView);
mAddress = (TextView) findViewById(R.id.textView2);
mAttributions = (TextView) findViewById(R.id.textView3);
mNumber = (TextView) findViewById(R.id.textView4);
Button pickerButton = (Button) findViewById(R.id.pickerButton);
pickerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
PlacePicker.IntentBuilder intentBuilder =
new PlacePicker.IntentBuilder();
intentBuilder.setLatLngBounds(Sligo);
List<Integer> filterTypes = new ArrayList<Integer>();
filterTypes.add(Place.TYPE_CAR_REPAIR);
Intent intent = intentBuilder.build(MainActivity.this);
startActivityForResult(intent, PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException
| GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
});
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
if (requestCode == PLACE_PICKER_REQUEST
&& resultCode == Activity.RESULT_OK) {
final Place place = PlacePicker.getPlace(this, data);
final CharSequence name = place.getName();
final CharSequence address = place.getAddress();
final CharSequence formatted_phone_number = place.getPhoneNumber();
// final CharSequence car = place.TYPE_CAR_REPAIR();
//public abstract List<Integer> getTypeFilter(place.TYPE_CAR_REPAIR);
String attributions = (String) place.getAttributions();
if (attributions == null) {
attributions = "";
}
mName.setText(name);
mAddress.setText(address);
mAttributions.setText(Html.fromHtml(attributions));
mNumber.setText(formatted_phone_number);
} else {
super.onActivityResult(requestCode, resultCode, data);
}
onClick Ereignis
public void onClickNumber(View arg)
{
Intent intent = new Intent(Intent.ACTION_DIAL);
startActivity(intent);
}
Die Zahl am unteren Rand des Bildschirms ist
@MikeM Versuchen. Du siehst die Sache ist, es könnte wirklich jede Zahl sein, die nur ein Beispiel ist, also kann ich keine bestimmte Nummer festlegen. Ich kann keine Antwort finden, die mich mit der Nummer, die ich gewählt habe, zum Dialer bringe. –
Benutze 'formatted_phone_number', du bekommst' onActivityResult() '. –