Chcę stworzyć aplikację na Androidasmartfony, które sprawdzają, czy telefon jest w trybie samolotowym. Jeśli tak, aplikacja wyłącza telefon z trybu samolotowego i sprawdza, czy jest dostępna łączność sieciowa w celu wysłania wiadomości SMS. Kiedy mówię o łączności sieciowej, mam na myśli zasięg sieci komórkowej, aby wysłać SMS-a, nie chcę sprawdzać łączności z Internetem. Jeśli jest łączność sieciowa, aplikacja spróbuje wysłać SMS-a.
Udało mi się sprawdzić tryb samolotowy iprzełączać, ale nie znajduję sposobu, aby sprawdzić, czy telefon jest podłączony do sieci komórkowej i czy jest dostępny zasięg. Znalazłem wiele przykładów, które sprawdzają łączność z Internetem, ale nie jest to, czego potrzebuję.
Czy jest jakiś sposób, aby sprawdzić, czy telefon jest podłączony do sieci komórkowej i czy jest zasięg, aby wysłać SMS?
Z góry dziękuje za twoją pomoc.
Odpowiedzi:
5 dla odpowiedzi № 1Użyj tego, aby sprawdzić siłę sygnału:
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener signalListener = new PhoneStateListener() {
public void onSignalStrengthChanged(int asu) {
//asu is the signal strength
}
};
telephonyManager.listen(signalListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTH);