问题标签 [android-securityexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
336 浏览

java - MediaPlayer:如何在 STREAM_ALARM 中播放

我是android开发的初学者。我需要将原始文件中的媒体作为 STREAM_ALARM 播放给我的闹钟。我在这里发现了一个类似的问题: Android MediaPlayer - how to play in the STREAM_ALARM?

接受的答案就像那个链接上的那样:

我的项目的第一行是这样的:

因此,我使用了 buet.mushfiq.classfriendsupport 作为我的项目名称并以这种方式实现代码:

但不幸的是,没有音频播放,android studio 显示此错误:

mytone.mp3 肯定存在于 raw 文件夹中。实际位置:app/src/main/res/raw。当我应用此代码时,Android Studio 可以很好地播放媒体:

那么如何在 Uri.parse 函数中找到我的文件呢?

0 投票
3 回答
3188 浏览

android - SecurityException:打开未从 uid 导出的提供程序

我有一个不在 Play 商店中的应用程序。我之前能够通过以下代码启动应用程序安装程序:

在活动中:

现在,我将其更改targetSdkVersion为 25,并对代码进行了一些更改,但出现以下错误:

致命异常:AsyncTask #1 进程:com.android.packageinstaller,PID:6499 java.lang.RuntimeException:在 java.os.AsyncTask$3.done(AsyncTask.java:326) 处执行 doInBackground() 时出错。 util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) 在 java.util.concurrent.FutureTask.setException(FutureTask.java:223) 在 java.util.concurrent.FutureTask.run(FutureTask.java:242) 在 android .os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:244) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: 607) 在 java.lang.Thread.run(Thread.java:761) 引起:java.lang.SecurityException:权限被拒绝:在.namespace.appname.comp 中打开提供程序。ProcessRecord{ba35e80 6499:com.android.packageinstaller/u0a17} (pid=6499, uid=10017) 的 GenericFileProvider 不是从 android.os.Parcel.readException(Parcel.java:1684) 的 android.os 的 uid 10076 导出的.Parcel.readException(Parcel.java:1637) 在 android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:4213) 在 android.app.ActivityThread.acquireProvider(ActivityThread.java:5535) 在 android.app.ContextImpl$ApplicationContentResolver。在 android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1131) 在 android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java) 的 android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1517) 获取UnstableProvider(ContextImpl.java:2239) :984) 在 android.content。ContentResolver.openInputStream(ContentResolver.java:704) 在 com.android.packageinstaller.PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:804) 在 com.android.packageinstaller.PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:795) 在 android .os.AsyncTask$2.call(AsyncTask.java:306) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:244) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 在 java.lang.Thread.run(Thread.java:761)PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:804) at com.android.packageinstaller.PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:795) at android.os.AsyncTask$2.call(AsyncTask.java:306) at java。 util.concurrent.FutureTask.run(FutureTask.java:237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:244) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 在 java.lang.Thread.run(Thread.java:761)PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:804) at com.android.packageinstaller.PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:795) at android.os.AsyncTask$2.call(AsyncTask.java:306) at java。 util.concurrent.FutureTask.run(FutureTask.java:237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:244) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 在 java.lang.Thread.run(Thread.java:761)AsyncTask$2.call(AsyncTask.java:306) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:244) at java.util .concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 在 java.lang.Thread.run(Thread.java:761)AsyncTask$2.call(AsyncTask.java:306) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:244) at java.util .concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 在 java.lang.Thread.run(Thread.java:761) 

这些是我在代码中所做的更改:

在清单中:

GenericFileProvider在目录中创建一个空类comp

将活动代码更改为:

是什么导致了这个错误,我该如何解决这个问题?

编辑#1

改变了我的清单:

0 投票
1 回答
84 浏览

android - 使用使用权限时出现 SecurityException

我有两个应用程序:App1 和 App2

在 App1 中指定这样的权限

在 App2 中指定这样的权限

我已经按顺序安装了应用程序:首先是 App1,然后是 App2。当我运行 App1 时,我收到了 SecurityException,如下所示:

java.lang.SecurityException: Permission Denial: 从 pid=5550 读取 com.commonname.providers.App1 uri content://com.commonname.providers.app1/logintoken,uid=10919 需要 com.commonname.providers.app1.READ_LOGIN_TOKEN,或 grantUriPermission() 在 android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:608) 在 android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:483) 在 android.content.ContentProvider$Transport.query(ContentProvider.java :212) 在 android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112) 在 android.os.Binder.execTransact(Binder.java:565)

是否存在在运行应用程序时再次请求权限的方法?或者如果首先安装了应用程序,则可以通过其他方式获得此权限。

我已经阅读了这篇文章https://github.com/commonsguy/cwac-security/blob/master/PERMS.md#android-50-behavior,并且根据安装顺序已知,但可能以某种方式存在。

0 投票
1 回答
1009 浏览

android - addAccountExplicitly 抛出 SecurityException 因为 com.google.android.gm 不允许执行 GET_ACCOUNTS

我的应用程序使用 SyncAdapters 在后台同步数据。在运行 OS 8.0 并设置 Android for Work 托管配置文件的设备上,调用 addAccountExplicitly 会引发 SecurityException 并且无法正确添加帐户。

这是调用堆栈:

我使用在 Pixel 上运行 8.0 的两个 GitHub 项目重现了失败:fingerprint=google/marlin/marlin:8.0.0/OPR3.170623.013/4397526:user/release-keys

GitHub 应用程序:

  1. https://github.com/googlesamples/android-testdpc
  2. https://github.com/googlesamples/android-BasicSyncAdapter

以下是重现抛出上述异常的步骤:

  1. 恢复出厂设置并等待开箱即用屏幕出现。
  2. 安装应用程序 android-testdpc。为 Android for Work 托管配置文件完成设备设置。
  3. 不要更改任何策略,也不要重新启动设备。
  4. 安装应用程序 android-BasicSyncAdapter 并启动它。
  5. Logcat 将捕获

我是崩溃:[7489,0,com.example.android.basicsyncadapter,950582854,java.lang.SecurityException,com.google.android.gm from uid 10075 not allowed to perform GET_ACCOUNTS,Parcel.java,1942]

补充说明:

  • 我看到仅在具有 Android 8.0 的设备上引发了 SecurityException。
  • 在启动 android-BasicSyncAdapter 之前重新启动设备不会导致抛出 SecurityException。目前建议为用户解决。

我试图弄清楚如何成功调用 addAccountExplicitly 而不必先重新启动设备。

0 投票
0 回答
537 浏览

android - 我收到一条错误消息“策略 #3 的 uid 10086 没有活动管理员”

我正在尝试开发一个app用户可以通过单击按钮来锁定屏幕Android Studio。我发现了很多关于这种应用程序的问题和帖子。所以我关注了其中一个,但我收到一条错误消息并且app已关闭。

致命异常:主进程:com.example.myapplication2,PID:9360 java.lang.SecurityException:策略 #3 的 uid 10086 没有活动管理员

这是我的代码

我还为强制锁定和擦除数据添加了使用策略。

0 投票
1 回答
449 浏览

android - 没有详细信息的 java.lang.SecurityException

我四处寻找这个,但找不到我的案子的解决方案。我刚刚更新了我的应用程序以针对 Android API 25。因此我必须更新权限处理。我的应用需要以下权限:

我已经添加了所有代码来检查/请求权限,并在两部不同的手机上进行了测试。然而,一些用户遇到了这个崩溃:

如您所见,我收到了一个没有详细信息的安全异常。堆栈跟踪还显示它根本不是源自我的代码。

谁能告诉我如何解决这个问题?我读错了堆栈跟踪吗?

编辑:问题必须源于尝试从联系人建立用户电子邮件列表。这是代码:

0 投票
2 回答
677 浏览

java - 访问设置时的 Android 安全异常

我需要从我的应用程序中打开 Usage Stats 设置。对于大多数手机,一切正常:

但是,有些手机(例如华为 Y6 Pro)会引发安全异常java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.USAGE_ACCESS_SETTINGS cmp=com.android.settings/.Settings$UsageAccessSettingsActivity } from ProcessRecord{3f032f8b 18712:com.example.pro/u0a924} (pid=18712, uid=10924) not exported from uid 1000

有没有办法检查我是否可以执行startActivity并且不会抛出任何异常?

0 投票
1 回答
77 浏览

android - 如何在完全离线的应用程序中保持 KEYS 的安全?

我有完全离线的应用程序,它保留了实现功能所需的少量 KEYS。我正在使用 proguard 来保护我的应用程序免受逆向工程的影响,但是我不可能 100% 地让应用程序远离逆向工程。

此外,KEYS 被定义为不可变的字符串。因此,我认为虽然我使用了 proguard,但最终不会混淆 KEYS。

我的问题是,

如何在我的应用程序中保持 KEYS 的安全,并且我的应用程序要求是固定的并且只想在应用程序中保留 KEYS?

0 投票
0 回答
2105 浏览

android - Android - android.os.Parcel.readException 中的 java.lang.SecurityException

我一直在研究基于位置的 Android 应用程序。我还处理了运行时危险的位置权限。它在测试从 4.0 到 8.0 的各种设备时效果很好。

我没有其他危险的权限。

如果例外是运行时位置权限,它会显示如下内容

但是,日志如下所示。

谷歌播放控制台上的异常计数为 1216,在短时间内受影响的用户为 368。

任何帮助,将不胜感激。提前致谢

0 投票
2 回答
1266 浏览

android - ActivityTransitionRequest 中指定的活动无效

我正在尝试使用 ActivityRecognition。但是,当我尝试获取 DetectedActivity.TILTING 或 DetectedActivity.UNKNOWN 的转换更新时出现错误。对于所有其他活动类型,我没有问题。

这是我创建 ActivityTransitionRequest 的代码

这是我正在使用的 IntentService。

这是我得到的例外:

任何帮助,将不胜感激。