如何检测某人何时从 AIR 应用程序中的 Android 设备拨打电话?

How do detect when someone makes a call from an Android device in an AIR application?

我希望能够读取通话对象的联系电话号码,并在通话结束时读取。我一直在谷歌搜索,但找不到任何东西。我怎样才能做到这一点?非常感谢任何帮助。

您需要为 Android 编写一个 Air 原生扩展 (ANE),创建一个继承 BroadcastReceiver 的 class,您可以将 ACTION_NEW_OUTGOING_CALL 等动作包装为 ActionScript 事件向您的事件处理程序广播 phone 电话号码、联系信息等。

Developing and using Adobe AIR native extensions for Android device

示例 Android java:

public class PhoneStateReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        String extraState = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
        if (action.equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
            Log.d("test", "ACTION_NEW_OUTGOING_CALL");
        }
        else {
            Log.d("test", "ACTION_PHONE_STATE_CHANGED");
            if (extraState.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
                Log.d("test", "EXTRA_STATE_RINGING");
            } 
            else if (extraState.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {
                Log.d("test", "EXTRA_STATE_OFFHOOK");
            }
            else if (extraState.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
                Log.d("test", "EXTRA_STATE_IDLE");
            }
        }
    }
}