如何在8.0以下的设备上运行即时应用程序获得Vibrate权限?

时间:2018-02-08 16:57:09

标签: android android-instant-apps

Android 7.0上的 像素设备(Android 8.0.0) 不可用中提供振动器服务< / EM> 即可。我正在使用 galaxy s8 。它每次都要求电话震动。这是堆栈跟踪。

java.lang.SecurityException: Method class android.os.IVibratorService$Stub$Proxy.vibrateMagnitude[int, class java.lang.String, long, int, interface android.os.IBinder, int, class java.lang.String]->void not available to instant apps
          at android.os.Parcel.readException(Parcel.java:1693)
          at android.os.Parcel.readException(Parcel.java:1646)
          at com.google.android.instantapps.supervisor.ipc.base.MethodInvocationProxy.readReply(PG:2)
          at com.google.android.instantapps.supervisor.ipc.base.MethodInvocationProxy.invoke(PG:18)
          at java.lang.reflect.Proxy.invoke(Proxy.java:813)
          at $Proxy14.vibrateMagnitude(Unknown Source)
          at android.os.SystemVibrator.semVibrate(SystemVibrator.java:88)
          at android.os.SystemVibrator.vibrate(SystemVibrator.java:74)
          at android.os.Vibrator.vibrate(Vibrator.java:129)
          at android.os.Vibrator.vibrate(Vibrator.java:111)
          at com.atlasbrothers.natomounts.activities.CartActivity.o(Unknown Source)
          at com.atlasbrothers.natomounts.activities.CartActivity$24.onClick(Unknown Source)
          at android.view.View.performClick(View.java:6261)
          at android.widget.TextView.performClick(TextView.java:11157)
          at android.view.View$PerformClick.run(View.java:23748)
          at android.os.Handler.handleCallback(Handler.java:751)
          at android.os.Handler.dispatchMessage(Handler.java:95)
          at android.os.Looper.loop(Looper.java:154)
          at android.app.ActivityThread.main(ActivityThread.java:6776)
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)

它是主管上的错误还是即时应用的振动许可仅适用于Android 8.0?

1 个答案:

答案 0 :(得分:2)

我无法为与AIA相关的振动权限重现此问题,在功能模块中为Pre-O设备实施Vibrate权限的VibrateAndroidManifest.xml条目。

Nexus Android版本 - 7.1.2(N)
Google Play服务版 - 11.9.75
适用于即时应用的Google Play服务版本1.22和2.12

作为解决方法,

  • 我建议您将您设备上的主管更新到最新版本并尝试 再次运行应用程序。
  • 如果您仍然遇到错误,请将您的项目提交至Google's Issue-tracker。 (另外,请分享 链接到此处提交的错误)
  • 除了OEM的Galaxy S8之外,你有没有检查过Nexus Pre-O设备的行为?