相关疑难解决方法(0)

权限拒绝:这需要android.permission.INTERACT_ACROSS_USERS_FULL

我在Android中遇到了sqlite db的问题.但是当我在互联网上进行快速研究时,我怀疑这个问题与sqlite无关,而与系统用户无关.我的应用程序未被识别为访问数据库功能的授权用户.我尝试在堆栈溢出中应用可能的建议解决方案,但它们都没有区别.这是我每次尝试使用数据库功能时遇到的LogCat.

12-14 02:35:17.721    2953-3355/? E/DatabaseUtils? Writing exception to parcel
java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13082)
at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:577)
at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
at android.os.Binder.execTransact(Binder.java:388)
at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)

我试图添加权限

android.permission.INTERACT_ACROSS_USERS_FULL
Run Code Online (Sandbox Code Playgroud)

但仍然没有声音.奇怪的是当我尝试添加INTERNET权限Android Studio 0.3(我使用的是ide)建议我可以选择的权限.但是当谈到INTERACT_ACROSS_USERS_FULL权限时,它的行为就像它不知道这个权限.我的测试设备是在4.3上运行的三星S4.

我假设我不是唯一一个尝试在android上使用db的人.所以有一个解决方案.

我怎样才能真正为我的应用程序添加INTERACT_ACROSS_USERS_FULL权限?

sqlite permissions android user-permissions

34
推荐指数
2
解决办法
5万
查看次数

禁用应用程序的Android O自动填充服务

Android O具有支持字段自动填充的功能.有什么办法可以为特定的应用程序禁用它.那是我想强制我的应用程序不使用自动填充服务.

可能吗 ?

要阻止整个活动的自动填充,请在活动的onCreate()中使用:

getWindow()
  .getDecorView()
  .setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS);
Run Code Online (Sandbox Code Playgroud)

有没有比这更好的方法?

android autofill textview android-8.0-oreo android-autofill-manager

34
推荐指数
4
解决办法
2万
查看次数

Android权限.INTERACT_ACROSS_USERS拒绝

我有一个奇怪的Android权限拒绝,这是它:

java.lang.SecurityException: Permission Denial: isUserRunning() from pid=1078, uid=10284 requires android.permission.INTERACT_ACROSS_USERS
Run Code Online (Sandbox Code Playgroud)

我还没有发现任何关于android.permission.INTERACT_ACROSS_USERSandroid.permission.INTERACT_ACROSS_USERS_FULL

这是完整的logcat:

java.lang.SecurityException: Permission Denial: isUserRunning() from pid=25403, uid=10310 requires android.permission.INTERACT_ACROSS_USERS
    at android.os.Parcel.readException(Parcel.java:1693)
    at android.os.Parcel.readException(Parcel.java:1646)
    at android.app.ActivityManagerProxy.isUserRunning(ActivityManagerNative.java:7000)
    at android.os.UserManager.isUserUnlocked(UserManager.java:1069)
    at android.os.UserManager.isUserUnlocked(UserManager.java:1063)
    at com.android.launcher3.compat.UserManagerCompatVN.isUserUnlocked(UserManagerCompatVN.java:39)
    at com.android.launcher3.LauncherModel$LoaderTask.loadWorkspace(LauncherModel.java:1759)
    at com.android.launcher3.LauncherModel$LoaderTask.loadAndBindWorkspace(LauncherModel.java:1387)
    at com.android.launcher3.LauncherModel$LoaderTask.run(LauncherModel.java:1486)
    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.os.HandlerThread.run(HandlerThread.java:61)
Run Code Online (Sandbox Code Playgroud)

我已将此添加到我的清单中:

<permission android:name="android.permission.INTERACT_ACROSS_USERS" android:protectionLevel="signature"/>
<permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>
Run Code Online (Sandbox Code Playgroud)

java android android-permissions

27
推荐指数
2
解决办法
9155
查看次数

应用程序启动前崩溃:SecurityException:Permission Denial:INTERACT_ACROSS_USERS_FULL

背景

我有一个root设备,它是Galaxy S3 I9300,基于Android 4.3的三星基于股票的ROM.

运行我正在使用此设备的应用程序时,我从未遇到任何问题.

问题

从昨天开始(我没有更改设备上的任何内容),每次打开应用程序时,它都显示很短的时间,关闭自己没有任何崩溃对话框,但它显示下一个日志:

01-30 09:27:18.325: E/DatabaseUtils(2366): Writing exception to parcel
01-30 09:27:18.325: E/DatabaseUtils(2366): java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
01-30 09:27:18.325: E/DatabaseUtils(2366):  at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13140)
01-30 09:27:18.325: E/DatabaseUtils(2366):  at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
01-30 09:27:18.325: E/DatabaseUtils(2366):  at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:607)
01-30 09:27:18.325: E/DatabaseUtils(2366):  at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
01-30 09:27:18.325: E/DatabaseUtils(2366):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
01-30 09:27:18.325: E/DatabaseUtils(2366):  at android.os.Binder.execTransact(Binder.java:388)
01-30 09:27:18.325: E/DatabaseUtils(2366):  at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)

它甚至没有得到扩展Application的类的代码......

我发现了什么

似乎这个问题非常普遍(许多人已经报道过这个问题),但我找不到任何解决方案以及为什么会出现这种情况,除了拥有一个有根设备.

人们还说这里写的权限实际上是一个系统权限,但我从来没有听说过它,更不用说使用它了(甚至不确定它是什么). …

android securityexception root android-permissions

24
推荐指数
1
解决办法
5266
查看次数

权限拒绝:startActivity要求以用户-2身份运行,但是从用户0调用; 这需要android.permission.INTERACT_ACROSS_USERS_FULL

当我尝试使用android'am'命令启动一个活动时,它在4.2平台下是错误的(我试过,在2.3版本下它没问题).代码是这样的

out = process.getOutputStream();
out.write(("am start -a android.intent.action.VIEW -n com.android.browser/com.android.browser.BrowserActivity\n").getBytes());
out.flush();

InputStream in = process.getInputStream();
BufferedReader re = new BufferedReader(new InputStreamReader(in));
String line = null;
while((line = re.readLine()) != null) {
    Log.d("conio","[result]"+line);
}
Run Code Online (Sandbox Code Playgroud)

而错误是这样的:

java.lang.SecurityException: Permission Denial: startActivity asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL 
at android.os.Parcel.readException(Parcel.java:1425)                                                                                                                        
at android.os.Parcel.readException(Parcel.java:1379)                                                                                                                        
at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:1921)                                                                                    
at com.android.commands.am.Am.runStart(Am.java:494)                                                                                                                         
at com.android.commands.am.Am.run(Am.java:109)                                                                                                                              
at com.android.commands.am.Am.main(Am.java:82)                                                                                                                              
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)                                                                                                      
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)                                                                                                           
at dalvik.system.NativeStart.main(Native Method)                                                                                                                            
Run Code Online (Sandbox Code Playgroud)

我想知道

1.用户-2和0是什么意思?

2.我可以在哪里找到有关这些ID的详细信息?

3.我该怎么办,只需添加权限?我不想添加我对他们一无所知的权限.任何人都可以帮助我,非常感谢!

android

16
推荐指数
3
解决办法
3万
查看次数

我该怎么办:这需要android.permission.INTERACT_ACROSS_USERS_FULL

我正在努力将micode的开源指南针集成到我正在制作的应用程序中.我想知道如何在我的清单中明确说明正确的拼写时如何解决此权限错误.它仍然出现,我需要这个许可.

这令我感到困惑......

11-03 13:53:58.241: E/AndroidRuntime(8975): Caused by: \
    java.lang.SecurityException: Permission Denial: registerReceiver from \
    net.micode.compass asks to run as user -1 but is calling from user 0; this \
    requires android.permission.INTERACT_ACROSS_USERS_FULL
Run Code Online (Sandbox Code Playgroud)

android android-permissions

15
推荐指数
2
解决办法
4万
查看次数

Android 9 (API 28) 活动在启动时崩溃 (setContentView)

问题是在将我的手机从 Android 8 更新到 9 时开始的。该应用程序之前运行良好。

我试图通过包含相同的依赖项/配置在我正在开发的其他应用程序中复制这一点,但我无法复制该行为。它总是在 setContentView 崩溃,即使是简单的活动和简单的布局。

我做了我的研究并得出结论,INTERACT_ACROSS_USERS_FULL许可不是问题的真正原因。

这种崩溃实际上发生在所有应用程序活动中,但 TestActivity 是最简单的。在运行 API 28 的三星 S9+ 和运行 Android 9、API 28 的像素模拟器上进行测试。

编辑:当我将 android:name="...." 属性放入清单定义时,这似乎会发生。由于我真的需要应用程序类,我仍在寻找解决方案来完成这项工作。


活动(简化为具有崩溃所需的最少代码):

package com.marhat.albatros

import android.os.Bundle import androidx.appcompat.app.AppCompatActivity;

class TestActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)
    }
}
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                                     xmlns:tools="http://schemas.android.com/tools"
                                                     android:layout_width="match_parent"
                                                     android:layout_height="match_parent"
                                                     tools:context=".TestActivity">

</androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

这是输出:

2019-02-08 11:54:19.088 20298-20298/com.marhat.albatros E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.marhat.albatros, PID: 20298
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.marhat.albatros/com.marhat.albatros.TestActivity}:
Run Code Online (Sandbox Code Playgroud)

java.lang.SecurityException:从用户 0 …

android kotlin android-9.0-pie

5
推荐指数
1
解决办法
2344
查看次数

* INTERACT_ACROSS_USERS *导致Android指纹登录失败

我在我的应用程序中应用了指纹集成,以使用指纹登录。

将应用程序公开发布后,我看到了由此导致的Fabric's Crashlytics生成的数百个崩溃报告,如下所示:

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxxxx/com.xxx.xxxxx.LoginActivity}: java.lang.SecurityException: Permission Denial: getCurrentUser() from pid=26824, uid=10144 requires android.permission.INTERACT_ACROSS_USERS
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
   at android.app.ActivityThread.access$1100(ActivityThread.java:229)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:148)
   at android.app.ActivityThread.main(ActivityThread.java:7406)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Run Code Online (Sandbox Code Playgroud)

奇怪的是,所有崩溃仅在Samsung设备上发生!

银河J7 57%

SM-J327P 9%

银河A5 7%

SM-G532F 7%

银河J5 1%

Galaxy S6 Edge 1%

清单文件已具有以下权限:

<permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>
Run Code Online (Sandbox Code Playgroud)

有什么建议如何跟踪/解决此问题?我手边没有上述任何设备:/

谢谢。

permissions android fingerprint

2
推荐指数
1
解决办法
729
查看次数

无法在Samsung设备上的Android Studio 3.4.1中运行项目

我无法从Android Studio 3.4.1在三星设备上运行项目。Studio在对话框中给我以下错误消息

Installation failed with message 'cmd package install-create -r -t -S 1686629' returns error 'Unknown failure: Security exception: Permission Denial: runInstallCreate from pm command asks to run as user -1 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
java.lang.SecurityException: Permission Denial: runInstallCreate from pm command asks to run as user -1 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
at com.android.server.am.UserController.handleIncomingUser(UserController.java:1827)
at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:25069)
at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:4848)
at com.android.server.pm.PackageManagerShellCommand.translateUserId(PackageManagerShellCommand.java:2402)
at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:2408)
Run Code Online (Sandbox Code Playgroud)

我尝试了消息中提到的修复程序,即在清单文件中添加权限,但是运行时错误仍然消失了。

请注意,该项目正在构建中,没有错误。

我该如何解决?

我的系统详细信息

发行者ID:Ubuntu说明:Ubuntu 18.04.2 LTS版本:18.04代号:bionic …

java android exception build android-studio

2
推荐指数
1
解决办法
351
查看次数