0

调用 Camera.open(cameraIndex) (Camera 1 API) 时出现以下错误

MethodInvocationProxy:调用方法时出现异常 public abstract boolean android.media.IAudioService.isCameraSoundForced() throws android.os.RemoteException java.lang.SecurityException:方法类 android.media.IAudioService$Stub$Proxy.isCameraSoundForced[] 不适用于即时应用

06-18 10:23:43.361 26240-26359/? E/同位素:UID:[10185] PID:[26240] MethodInvocationStub:调用方法 isCameraSoundForced java.lang.SecurityException:方法类 android.media.IAudioService$Stub$Proxy.isCameraSoundForced[] 不适用于 com 的即时应用程序。 google.android.instantapps.supervisor.ipc.proxies.SandboxEnforcer.enforceUnsupportedPolicy(PG:63) 在 com.google.android.instantapps.supervisor.ipc.proxies.SandboxEnforcer.enforceUnsupportedMethodPolicy(PG:17) 在 com.google.android。 com.google.android 上的 instantapps.supervisor.ipc.ProxyMethodHandler.handleMethod(PG:50)。Instantapps.supervisor.ipc.base.MethodInvocationStub.onTransact(PG:56) 在 android.os.Binder.execTransact(Binder.java:453) 06-18 10:23:43.361 26274-26274/?E /同位素:UID:[99000] PID:[26274] MethodInvocationProxy:调用方法公共抽象布尔android.media.IAudioService.isCameraSoundForced()时出现异常抛出android.os.RemoteException java.lang.SecurityException:方法类android.media。 IAudioService$Stub$Proxy.isCameraSoundForced[] 不适用于 android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) at com 的即时应用程序。

4

4 回答 4

2

android.hardware.Camera 在 API 级别 21 中已被弃用,而 Instant Apps 仅支持 API 级别 23 的设备。您需要改用 android.hardware.camera2。

https://developer.android.com/reference/android/hardware/camera2/package-summary.html

android.hardware.camera2 包为连接到 Android 设备的各个相机设备提供了一个接口。它取代了已弃用的 Camera 类。

此问题已在https://issuetracker.google.com/issues/38485484中得到解决, 其中工程师提供了以下信息:

“免安装应用不支持旧的已弃用的 android.hardware.Camera。它们仅支持 camera2 API”

于 2017-07-28T01:02:41.610 回答
0

即时应用程序在 Android O 和​​以前的版本上本机运行,它们使用 google play 服务运行。因此,在 API 26 之前的即时应用程序中不支持相机 1,因为它们不是本机运行的。但是,您可以在 API 26 上的即时应用程序中使用 Camera 1 api,直到我想象的 Camera 1 api 存在。

但是,我在即时应用程序中使用相机 2 api,在已安装的应用程序中使用相机 1 api。

于 2017-07-28T05:39:33.393 回答
0

这是当前实现对即时应用程序的 Google Play 服务支持的错误。

它将在未来的版本中修复,此时 android.hardware.Camera API 应该可以正常工作。

不幸的是,我没有关于可用修复时间范围的任何细节。

于 2017-07-28T23:12:13.437 回答
0

即时应用程序的功能受到限制,显然不支持该方法。您可以使用InstantApps.isInstantApp()方法来确定它是已安装的还是即时应用程序,并且isCameraSoundForced仅调用已安装。

更多信息:https ://developer.android.com/topic/instant-apps/reference.html

于 2017-06-15T14:33:19.883 回答