【问题标题】:Android 9 phone crashes when app is launched启动应用程序时,Android 9 手机崩溃
【发布时间】:2018-09-07 12:51:33
【问题描述】:

我的应用只在android 9 上崩溃。它在其他android platforms 上运行良好。可能是什么原因? 我收到以下错误:

ui.activities.StartActivity}:java.lang.SecurityException:调用自 用户 0 作为用户 -1 没有权限 INTERACT_ACROSS_USERS 或 不允许 INTERACT_ACROSS_USERS_FULL

09-07 14:57:45.917 17829-17829/XXXXXXXXX E/AndroidRuntime: FATAL EXCEPTION: main
Process: XXXXXXXXX, PID: 17829
java.lang.RuntimeException: Unable to start activity ComponentInfo{XXXXXXXXX/XXXXXXXXX.ui.activities.StartActivity}: java.lang.SecurityException: Call from user 0 as user -1 without permission INTERACT_ACROSS_USERS or INTERACT_ACROSS_USERS_FULL not allowed.
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6669)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
 Caused by: java.lang.SecurityException: Call from user 0 as user -1 without permission INTERACT_ACROSS_USERS or INTERACT_ACROSS_USERS_FULL not allowed.
    at android.os.Parcel.createException(Parcel.java:1942)
    at android.os.Parcel.readException(Parcel.java:1910)
    at android.os.Parcel.readException(Parcel.java:1860)
    at android.view.accessibility.IAccessibilityManager$Stub$Proxy.addClient(IAccessibilityManager.java:295)
    at android.view.accessibility.AccessibilityManager.tryConnectToServiceLocked(AccessibilityManager.java:1125)
    at android.view.accessibility.AccessibilityManager.<init>(AccessibilityManager.java:358)
    at android.view.accessibility.AccessibilityManager.getInstance(AccessibilityManager.java:336)
    at android.view.View.setFlags(View.java:14008)
    at android.view.View.<init>(View.java:5565)
    at android.view.ViewGroup.<init>(ViewGroup.java:659)
    at android.view.ViewGroup.<init>(ViewGroup.java:655)
    at android.view.ViewGroup.<init>(ViewGroup.java:651)
    at android.view.ViewGroup.<init>(ViewGroup.java:647)
    at android.widget.FrameLayout.<init>(FrameLayout.java:78)
    at com.android.internal.policy.DecorView.<init>(DecorView.java:255)
    at com.android.internal.policy.PhoneWindow.generateDecor(PhoneWindow.java:2310)
    at com.android.internal.policy.PhoneWindow.installDecor(PhoneWindow.java:2662)
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:410)
    at android.app.Activity.setContentView(Activity.java:2771)
    at XXXXXXXXX.ui.activities.StartActivity.onCreate(StartActivity.java:15)
    at android.app.Activity.performCreate(Activity.java:7136)
    at android.app.Activity.performCreate(Activity.java:7127)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:193) 
    at android.app.ActivityThread.main(ActivityThread.java:6669) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
 Caused by: android.os.RemoteException: Remote stack trace:
    at com.android.server.accessibility.AccessibilityManagerService$SecurityPolicy.resolveCallingUserIdEnforcingPermissionsLocked(AccessibilityManagerService.java:3522)
    at com.android.server.accessibility.AccessibilityManagerService.addClient(AccessibilityManagerService.java:487)
    at android.view.accessibility.IAccessibilityManager$Stub.onTransact(IAccessibilityManager.java:82)
    at android.os.Binder.execTransact(Binder.java:731)

09-07 14:57:49.921 17829-17829/XXXXXXXXX E/CrashlyticsCore:执行任务失败。 java.util.concurrent.TimeoutException 在 java.util.concurrent.FutureTask.get(FutureTask.java:206) 在 com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(CrashlyticsBackgroundWorker.java:41) 在 com.crashlytics.android.core.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:320) 在 com.crashlytics.android.core.CrashlyticsController$6.onUncaughtException(CrashlyticsController.java:300) 在 com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:42) 在 java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068) 在 java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063) 在 java.lang.Thread.dispatchUncaughtException(Thread.java:1955)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
    android:id="@+id/imageView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="centerCrop"
    android:src="@drawable/splash"/>
</LinearLayout>

OnCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_splash);




Manifest:
<activity
       android:name=".ui.activities.StartActivity"
       android:launchMode="singleTask"
       android:screenOrientation="portrait" >
       <intent-filter>
           <action android:name="android.intent.action.MAIN" />
           <category android:name="android.intent.category.LAUNCHER" />
       </intent-filter>
   </activity>

【问题讨论】:

  • 我已经尝试过那里的选项。但是错误一直在发生。
  • @ZhebzhikBabich 这行不通。
  • 你能发布你的代码和完整的堆栈跟踪吗?
  • @TheWanderer 我发布了堆栈跟踪。我认为不需要共享代码 sn-p 因为应用程序在 setContentView(R.layout.activity_splash); 时崩溃;在 SplashActivity 的 onCreate 中调用。

标签: android android-9.0-pie


【解决方案1】:

在你的清单中添加这个 android:protectionLevel="signature" 。

添加权限

<permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>

【讨论】:

【解决方案2】:

Android 9 具有旋转、省电等新功能。您是否尝试过从代码内部获取设备旋转权限?经常将其设置为纵向模式可能是一个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多