如何检测某人何时从 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");
}
}
}
}
我希望能够读取通话对象的联系电话号码,并在通话结束时读取。我一直在谷歌搜索,但找不到任何东西。我怎样才能做到这一点?非常感谢任何帮助。
您需要为 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");
}
}
}
}