Android调用状态通过“调用”类(API 23)

时间:2017-06-12 19:13:11

标签: android state phone-call telephony

请帮忙,  我需要找出电话的详细状态。我找到了应该给出这些状态的“call”类(“https://developer.android.com/reference/android/telecom/Call.html”)。不幸的是,我发现无法使用这个类并获得状态。

1 个答案:

答案 0 :(得分:0)

只需使用{1}}代替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" />

如果能回答你的问题,请告诉我。