- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 ConnectionService 从 FCM 通知中呈现 ConnectionService 提供的调用 UI。我缺少什么来完成这个?按照 https://developer.android.com/guide/topics/connectivity/telecom/selfManaged 上的步骤操作我添加了:
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS"/>
和
<service android:name=".SparrowConnectionService"
android:label="@string/connection_service_label"
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE">
<intent-filter>
<action android:name="android.telecom.ConnectionService" />
</intent-filter>
</service>
当我收到 FCM 通知时,我会:
TelecomManager telecomManager = (TelecomManager)this.getSystemService(Context.TELECOM_SERVICE);
String packageName = getApplicationContext().getPackageName();
String className = SparrowConnectionService.class.getName();
ComponentName componentName = new ComponentName(packageName, className);
PhoneAccountHandle accountHandle= new PhoneAccountHandle(componentName, "testID");
PhoneAccount account = PhoneAccount.builder(accountHandle, getApplicationContext().getString(R.string.connection_service_label))
.setCapabilities(PhoneAccount.CAPABILITY_SELF_MANAGED)
.build();
telecomManager.registerPhoneAccount(account);
Bundle extras = new Bundle();
extras.putParcelable(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, accountHandle);
extras.putInt(TelecomManager.EXTRA_START_CALL_WITH_VIDEO_STATE, VideoProfile.STATE_BIDIRECTIONAL);
telecomManager.addNewIncomingCall(accountHandle, extras);
这成功触发了我的 ConnectService 的 onCreateIncomingConnection 方法(CallConnection extends Connection)
@Override
public Connection onCreateIncomingConnection(PhoneAccountHandle connectionManagerPhoneAccount, ConnectionRequest request) {
Log.d(TAG, "onCreateIncomingConnection");
CallConnection connection = new CallConnection(getApplicationContext());
connection.setConnectionProperties(Connection.PROPERTY_SELF_MANAGED);
connection.setCallerDisplayName("TestID", TelecomManager.PRESENTATION_ALLOWED);
Bundle extras = new Bundle();
extras.putBoolean(Connection.EXTRA_ANSWERING_DROPS_FG_CALL, true);
extras.putString(Connection.EXTRA_CALL_SUBJECT, "Test call subject text");
connection.putExtras(extras);
return connection;
}
这会调用我的 CallConnection 的 onShowIncomingCallUi 方法,但不显示任何 UI。如何显示 UI?
最佳答案
您需要在 onShowIncomingCallUi 方法中显示您的来电 UI。 self 管理的 ConnectionService API 旨在用于调用希望提供自己的完整调用 UI,但仍希望与 Android 中的移动调用共存的应用程序。
关于java - 如何使用 ConnectionService 获取 Call UI Presentation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51032423/
我正在尝试实现 ConnectionService .为此,我需要在 TelecomService 上注册一个电话帐户,这样设备就会知道它可以使用我的应用程序调用电话。 当我尝试注册电话帐户时,出现安
我正在尝试在 Android 上实现 iOS callkit 行为。我收到来自 firebase 的推送通知,我想向用户显示“来电”屏幕。为此,我使用了 android.telecom 包和其他类中的
我使用如下所示的 addnewIncomingCall 来显示来电 ui 屏幕 Bundle callInfo = new Bundle(); tm.addNewIncomingCall(handle
尝试在 Controller 中实例化我的服务时,保留以下错误消息: ionic.bundle.js:26794 TypeError: ConnectionService.isOnline is no
我正在构建一个与现有拨号器(Marshmallow API) Hook 的应用程序。我的目标是接听来电和拨出电话,同时处理 Connection对象来操作 Connection 的方法。 我已向 CA
我是 Android 开发的新手,对 ConnectionService 很好奇。我看到一个文档,它提到它来自 Android API 23。如果我的项目使用 useTargetVersion=25
我正在尝试使用 ConnectionService 从 FCM 通知中呈现 ConnectionService 提供的调用 UI。我缺少什么来完成这个?按照 https://developer.and
我是一名优秀的程序员,十分优秀!