Przechodzę do czynności pod numer, pod który mam zadzwonić przez pakiet
a potem w takiej czynności mam przycisk żeby zadzwonić na ten numer, to jest kod:
callButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(bundle.getString("mobilePhone")));
}
});
Coś nie tak, bo jak wciskam guzik nic się nie dzieje ...
Co ja robię źle?
PD: Używam projektu kompatybilnego z Androidem 1.5 ... może rozmowa telefoniczna jest niekompatybilna z 1.5?
android
phone-call
NullPointerException
źródło
źródło
Odpowiedzi:
Zapomniałeś zadzwonić do startActivity. To powinno wyglądać tak:
Zamiar sam w sobie jest po prostu przedmiotem, który coś opisuje. To nic nie robi.
Nie zapomnij dodać odpowiedniego pozwolenia do swojego manifestu:
źródło
Wypróbowałem to na moim telefonie i działa idealnie.
Dodaj to uprawnienie w pliku manifestu.
źródło
String number = "1689,,3,2,1,1
masznubmer = "tel:" + number.replaceAll("[^0-9]", "");
,*
. Muszą znajdować się wśród cyfr. Na emulatorze działa dobrze, ale na urządzeniu upuszcza dodatkowe symbole i cyfry.dla wielu zamówionych połączeń
Służy do systemów wywołujących DTMF. Jeśli połączenie zostanie przerwane, powinieneś przekazywać więcej "," między numerami.
źródło
W wybranej odpowiedzi nie ma sprawdzania uprawnień marshmallow. Nie będzie działać bezpośrednio w urządzeniu Marshmallow 6.0 lub nowszym.
Wiem, że jestem za późno, ale to pytanie ma duży głos, więc pomyślałem, że pomoże innym w przyszłości.
W urządzeniach marshmallow potrzebujemy pozwolenia na wykonanie połączenia ...
Oto przykład wykonania połączenia w piance lub wyższej.
Jak nawiązać połączenie w Android Marshmallow 6.0 lub nowszym
źródło
Zajrzyj tam: http://developer.android.com/guide/topics/intents/intents-filters.html
CZY zaktualizowałeś swój plik manifestu, aby przyznać prawa do połączeń?
źródło
Tutaj pokażę Ci, jak możesz wykonać telefon ze swojej działalności. Aby zadzwonić, musisz umieścić ten kod w swojej aplikacji.
źródło
To nie wymaga pozwolenia.
Lub
Ale pokazuje jeszcze jedno okno dialogowe (z pytaniem, czy chcesz zadzwonić na telefon tylko raz, czy zawsze). Więc lepiej byłoby używać
ACTION_CALL
z uprawnieniem (patrz Odwołane uprawnienie android.permission.CALL_PHONE ).źródło
źródło
Jeśli ktoś szuka w Kotlinie
Podobnie jak niektóre inne rozwiązania wymaga
android.permission.CALL_PHONE
pozwolenia.źródło