Пожалуйста, помогите, мне нужно узнать подробный статус звонков. Я нашел класс "вызов" ("https://developer.android.com/reference/android/telecom/Call.html"), который должен давать эти состояния. К сожалению, я не нашел способа использовать этот класс и получить статусы.
Состояние вызова Android через класс вызова (API 23)
comment
Например, вы хотите закодировать некоторую функциональную реакцию, основанную на состоянии телефона, например, когда он звонит?
- person DaveNOTDavid   schedule 12.06.2017
Ответы (1)
Просто используйте вместо этого TelephonyManager, который был добавлен в API 1.
Примерный сценарий реализации этого класса выглядит следующим образом:
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
public class MainActivity extends AppCompatActivity {
private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
// TODO: Code your functionality response here
break;
// TODO: Configure other phone state cases here if you want
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TelephonyManager telephonyManager = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
}
}
И не забудьте включить разрешение состояния телефона в файл манифеста:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Дайте мне знать, если это ответит на ваш вопрос.
person
DaveNOTDavid
schedule
12.06.2017
К сожалению, я нашел предыдущее решение. Я ищу решения с более подробными состояниями, такими как эти, и класс вызова предоставляет: STATE_ACTIVE, STATE_CONNECTING, STATE_DIALING, STATE_DISCONNECTED, STATE_DISCONNECTING, STATE_HOLDING, STATE_NE, STATE_PULLING_CALL, STATE_RINGING. Я искал везде в Интернете, к сожалению, я не нашел примера использования класса вызова. Здесь я нашел несколько похожих запросов, на которые не ответили.
- person Mokrys; 13.06.2017
Спасибо за предыдущий ответ, но он не решает мою проблему. Хочу спросить, можно ли проверить статус вызываемого номера телефона, есть он или нет?
- person Mokrys; 13.06.2017