Articles of 权限

Mac OS上的Android Studio IDE:错误= 13,权限被拒绝

我下载了适用于Mac的Android Studio,然后想要运行SDK管理器,然后将控制台放入以下消息: ProcessNotCreatedException: Cannot run program “/Users/MyUserName/Library/Android/sdk/tools/android”: error=13, Permission denied 操作系统版本:Yosemite 10.10.1 Android Studio版本:1.0.1 造成这种错误的主要原因是什么? 非常感谢!

API 26上的SYSTEM_ALERT_WINDOW PERMISSION无法按预期工作。 窗口types2002的权限被拒绝

我正在使用叠加权限在我的应用中显示某些信息。 在API 23 – 25上运行它可以正常工作(请求许可,授予等等) 无法添加窗口android.view.ViewRoot$W@44da9bc0 – 此窗口types的权限被拒绝 )。 (非常感谢ceph3us!) 在API 26上尝试相同我收到一个错误,基本上“调用时窗口types2002的权限被拒绝” windowManager.addView(frameLayout, params); Google是否改变了方式,叠加效果如何? 任何想法,如何将我的文本作为叠加到Android 8(奥利奥),API 26的屏幕上? 谢谢你的想法! 这是错误日志: 08-24 16:41:56.730 2615-2615/net.zwittscha.testoverlay E/AndroidRuntime: FATAL EXCEPTION: main Process: net.zwittscha.testoverlay, PID: 2615 java.lang.RuntimeException: Unable to start activity ComponentInfo{net.zwittscha.testoverlay/net.zwittscha.testoverlay.MainActivity}: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@6fa0089 — permission denied for window type 2002 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) at […]

如何检查目录路径的权限,并不会导致EACCES错误?

我有一个照片编辑Android应用程序,用户可以选择结果照片的输出目录。 问题是Google使用KITKAT版本对sdcard写入权限进行了更改,而使用Android KITKAT版本的设备将不允许应用程序编写辅助sdcards。 现在我需要检查用户选择的目录是否已授予权限,并且不会抛出EACCES错误。 我已经在检查canRead和canWrite,但这些都无济于事。 你能否告诉我如何检查选择的目录是否会抛出EACCES。 我唯一的解决方案是尝试在try catch中编写一个文件,但是我希望有更好的方法来实现它。 [更新k3b 2016-09-19] 我在我的android-4.4上试过这个但没有成功 Uri uri = Uri.fromFile(file); int permissionCode = context.checkCallingOrSelfUriPermission(uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION); if (permissionCode == PackageManager.PERMISSION_DENIED) { // on my android-4.4 i always get PERMISSION_DENIED even // if i can overwrite the file return false; }

缺少蓝牙权限 – 但我的应用程序不使用它

我的当前应用程序非常有效,除了它偶尔会抛出一个我没有解释的错误: E/AudioManagerAndroid﹕ BLUETOOTH permission is missing! 没有进一步的信息…我的应用程序与蓝牙无关,所以我想知道这个错误来自哪里。 最接近的可能是我访问的铃声管理器获取用于我的通知的默认闹钟铃声。 有没有人经历过同样的事情,并且可能知道修复? 它不会让我的应用程序崩溃,但我的印象是它确实会破坏测试朋友手机上的应用程序(没有logcat,因为他距离数百英里,并且对这些事情一无所知)

如何为libusb android应用程序提供/ dev / bus / usb权限?

我正在开发一个通过jni使用libusb的应用程序。 此应用程序目前仅针对root,usb-host Android 3+计算机。 方案如下: loads which wraps that uses that needs rw access to: /dev/bus/usb/ 所有.so本机库都是我在/ system / lib上安装(作为root)的基础结构的一部分,然后由简单用户运行的java Activities可以使用它们。 这意味着整个USB通信必须从原生方面完成。 我得到了一切正常工作,除了一个问题 – usb权限:/ dev / bus / usb / entries的默认权限是(0660,uid = root,gid = usb)。 显然,运行本机代码的标准java进程不符合上述任何要求,迫使我“chmod 666”相应的/ dev条目,以使其正常工作。 但是,这个解决方案并不是那么好,因为它不会在重新启动或拔出/重新插入设备后继续存在(权限会回到0660)。 我正在寻找的解决方案需要: 生存重启/重新插入 由root安装〜一次〜而不是每次都要打扰用户获取权限 是通用的,可在所有(/大多数)android 3+机器上运行 [非强制性]提供必要的最低凭证 我想到的方向: 更改/init.rc或/ueventd.rc中的权限 – >每次重新启动时都会覆盖这两个权限 安装usbfs / proc / bus […]

使用NetworkStatsManager获取移动数据使用历史记录

我想知道数据使用历史,并注意到“新”android-6 NetworkStatsManager似乎是积极的(我已经使用了TrafficStats一段时间,但不会涵盖任何重启之前的任何事情)。 从API文档: 注意:此API需要权限PACKAGE_USAGE_STATS,这是系统级权限,不会授予第三方应用程序。 但是,声明权限意味着使用API​​的意图,并且设备的用户可以通过“设置”应用程序授予权限。 配置文件所有者应用程序自动被授予查询其管理的配置文件上的数据的权限(即,除querySummaryForDevice(int,String,long,long)之外的任何查询)。 设备所有者应用程序同样可以访问主要用户的使用数据。 我想知道聚合级别的数据使用情况,而不是使用数据的应用程序,所以我试着像这样使用它: NetworkStatsManager service = context.getSystemService(NetworkStatsManager.class); NetworkStats.Bucket bucket = service.querySummaryForDevice(ConnectivityManager.TYPE_MOBILE, null, from, to); … 不幸的是,抛出SecurityException : java.lang.SecurityException: NetworkStats: Neither user 10174 nor current process has android.permission.READ_NETWORK_USAGE_HISTORY. at android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) at android.net.INetworkStatsSession$Stub$Proxy.getDeviceSummaryForNetwork(INetworkStatsSession.java:259) at android.app.usage.NetworkStats.getDeviceSummaryForNetwork(NetworkStats.java:316) at android.app.usage.NetworkStatsManager.querySummaryForDevice(NetworkStatsManager.java:100) … 第三方应用程序不允许使用android.permission.READ_NETWORK_USAGE_HISTORY权限。 所以这似乎是一个死胡同。 但是,我深入研究了内部结构,发现您可以使用内部/隐藏API执行相同的操作而无需请求任何权限: INetworkStatsService service = INetworkStatsService.Stub.asInterface( ServiceManager.getService(Context.NETWORK_STATS_SERVICE)); INetworkStatsSession session = service.openSession(); […]

Android 6 getAccountName()缺少android.permission.GET_ACCOUNTS

我在Android 6设备上运行时遇到以下exception。 java.lang.SecurityException: Missing android.permission.GET_ACCOUNTS 这看起来像是一个相当直接的例外,但对我来说并非如此。 我的清单看起来像这样: <application … 抛出此exception的代码段如下: mLoggedInEmail = Plus.AccountApi.getAccountName(mGoogleApiClient); 在Android 5设备上它工作得很好。

Android NDK限制?

我对Android平台上本机代码的限制有疑问。 基本上我已经开发了一个本机C代码库,它使用UDP套接字进行SIP / RTP,并使用OpenAL进行音频录制/回放 – 基本上是整个应用程序。 我们的想法是尽可能使用本机C代码而不是Java代码。 我想这样做是因为我将在其他平台上使用它。 我的问题很简单 – 是否可以只使用Java进行GUI,然后使用本机代码进行所有处理? 当我的本机代码尝试创建套接字,绑定它,录制音频,播放它等时会发生什么 – 因为它是本机代码,我是否需要为它设置权限(例如应用程序访问麦克风和诸如此类)或将它只是绕过这个东西,因为它的本机代码? 原生代码可以像在PC上那样在Android上做任何想做的事吗? 对不起,如果不清楚; 告诉我,我会尝试改进它 谢谢

adb shell的BroadcastReceiver权限

考虑使用BroadcastReceiver实现简单目标的简单工具。 因为其他应用程序不应该使用它,所以它使用signature或signatureOrSystem定义权限: 现在我想通过发送广播来测试这个 adb shell am broadcast -n any.test/.Receiver 从我的电脑。 虽然这在模拟器上完全正常,但在设置此权限时,它在真实设备上根本不起作用。 如果未设置权限,则一切都按预期工作。 那么如何定义或授予权限以便我可以在具有ADB的真实设备上测试所有这些? 我想在调试模式下使这个导出的接收器更安全,所以如果有一个特殊的ADB使用权限或运行时测试只允许来自ADB调用我可以在Receiver.onReceive(Context, Intent)中实现它,也会有所帮助。 接收方不必同时为ADB和其他应用程序工作。

permission.READ_CONTACTS似乎不起作用

我正在开发一个浏览用户联系人的简单应用程序。 不幸的是我一直收到以下错误: java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.HtcContactsProvider2 uri content://com.android.contacts/contacts from pid=27455, uid=10171 requires android.permission.READ_CONTACTS 我的清单文件如下所示: 我试图通过以下方式查看我的联系人: Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); 我试图将或android:permission=”android.permission.READ_CONTACTS”到或 ,但两者都不起作用。 我的选择已经用完了,有人知道我在这里缺少什么吗?