处理TelephonyManager(处理来电、已拨电话、未接电话):这在2.3版本的Android中是否可行

处理TelephonyManager(处理来电、已拨电话、未接电话):这在2.3版本的Android中是否可行,android,Android,我听说我们不能使用TelephonyManager检测来自Android 2.3版及以上版本的传入/未接/已拨电话。这是真的吗?如果有的话,我们有处理这些电话的方法吗?请建议。我急需它。检查邮件。这将有所帮助 你可以查询它 请查找使用TelephonyManager的代码。我试过2.3.3,现在为我工作: public class MainActivity extends Activity { private TelephonyManager telephonyManager; private

我听说我们不能使用TelephonyManager检测来自Android 2.3版及以上版本的传入/未接/已拨电话。这是真的吗?如果有的话,我们有处理这些电话的方法吗?请建议。我急需它。

检查邮件。这将有所帮助

你可以查询它

请查找使用TelephonyManager的代码。我试过2.3.3,现在为我工作:

public class MainActivity extends Activity {

private TelephonyManager telephonyManager;
private PhoneStateListener listener;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Get the telephony manager
    telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

    // Create a new PhoneStateListener
    listener = new PhoneStateListener() {

        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            String stateString = "N/A";
            switch (state) {
            case TelephonyManager.CALL_STATE_IDLE:
                stateString = "Idle";
                break;
            case TelephonyManager.CALL_STATE_OFFHOOK:
                stateString = "Off Hook";
                break;
            case TelephonyManager.CALL_STATE_RINGING:
                stateString = "Ringing";
                break;
            }
            Log.i("DEMO",
                    String.format("\nonCallStateChanged: %s", stateString));
        }
    };

    telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);

}
在清单中,您需要放置权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>


我需要该实例的数据。有什么帮助吗?我想你可以用TelephonyManager。它会有用的。我看不到任何声明它将无法在2.3+上工作。你能分享一下上面写的帖子吗?这不是帖子。我在这些论坛上编写了代码,并在这些手机上进行了测试。但是,没有用:(请找到编辑过的答案,以使用TelephonyManager侦听电话状态更改。我在4.0中运行的emulator上尝试了2.3.3代码,工作正常。是的,它是按照此[link][1]并享受[1]: