问题标签 [android-6.0-marshmallow]

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 回答
1104 浏览

android - Developer M Preview 中的共享库

我正在尝试在 Android M 开发预览版上测试我的应用程序。

我的应用程序正在使用一个共享库,我将它放在 Android Studio 内的 jni/libs/armeabi 中。我相信当它调用System.loadLibrary("myLib")它时会抛出以下 UnsatisfiedLinkError。还有其他人有这个问题吗?Android 5.x 对此没有任何问题。

更新:

我收到了一些关于这个问题的反馈。在我的 Android.mk 文件中,我有以下行,目前认为该路径不正确并且因此找不到该文件。

https://code.google.com/p/android-developer-preview/issues/detail?id=2239

0 投票
1 回答
228 浏览

android - 模拟器 Android 上的“Now on Tap”功能测试

由于谷歌在 M Developer Preview 中宣布了用于从不同应用程序进行上下文搜索的“Now on Tap”功能,所以我只想测试该功能。我已将模拟器(使用 genymotion)更新为 M。但我无法对此进行测试。

有人对此有想法吗?

0 投票
4 回答
4696 浏览

android - 如何创建 Android-M Preview 模拟器?

我想我已经安装了 android m 预览所需的所有系统映像,但我的模拟器仍然没有显示任何内容,它总是空白。请帮我

在此处输入图像描述 在此处输入图像描述

建议后我已经下载了其他要求,但仍然无法正常工作

在此处输入图像描述

0 投票
7 回答
94035 浏览

android - Android 5.1.1 及更高版本 - getRunningAppProcesses() 仅返回我的应用程序包

谷歌似乎终于关闭了所有获取当前前台应用程序包的大门。

在 Lollipop 更新后,getRunningTasks(int maxNum)由于这个答案,我使用这个代码来获取前台应用程序包,因为 Lollipop:

Android 5.1.1 及更高版本(6.0 Marshmallow)似乎也被杀死getRunningAppProcesses()了。它现在返回您自己的应用程序包的列表。


UsageStatsManager

我们可以使用此处描述的新UsageStatsManagerAPI,但它不适用于所有应用程序。某些系统应用程序会返回相同的包


AccessibilityService(2017 年 12 月:将被 Google 禁止使用)

一些应用程序使用AccessibilityService(如此处所示),但它有一些缺点。


是否有另一种获取当前正在运行的应用程序包的方法?

0 投票
2 回答
3378 浏览

android - 如何确定应用程序是否在 Android M 上运行(开发者预览版)

注意:这个问题是针对 Android M 开发者预览版而不是官方 Android 6.0 提出的。

android.os.Build.VERSION.SDK_INT 在 Android M 上返回 22(22 是 LOLLIPOP_MR1 的 api 级别)。我们应该如何检查应用程序是否在 Android M 上运行?我有这样的想法,但这显然行不通:

为什么我需要这个?例如,检查我是否需要请求权限,因为 Android M 有一个新的权限模型。

我可以这样做:

但这似乎是一个 hack IMO。

真的有两个问题:

  • 最干净的方法是什么?
  • 这是一个错误还是应该是这样的?
0 投票
1 回答
183 浏览

android - 应用待机行为和警报

我查看了文档,但没有明确提及。当应用程序处于待机模式时,它是否能够接收来自警报管理器的唤醒?

0 投票
6 回答
16067 浏览

java - 设计库 - 带有 GridView/listView 的 CoordinatorLayout/CollapsingToolbarLayout

这可能是个愚蠢的问题,但我不太了解设计库。我正在按照这个参考来创建下面的布局。当我滚动GridView. 但是当我滚动网格视图时,AppBarLayout 中没有任何反应。

但这适用于NestedScrollViewRecyclerView

布局

以下是我的布局文件-

任何帮助,将不胜感激。

0 投票
29 回答
224638 浏览

android - Android M - 检查运行时权限 - 如何确定用户是否选中了“不再询问”?

根据此: http: //developer.android.com/preview/features/runtime-permissions.html#coding应用程序可以检查运行时权限并请求权限(如果尚未授予)。然后将显示以下对话框:

在此处输入图像描述

如果用户拒绝重要权限,则应用程序应显示需要权限的解释以及拒绝的影响。该对话框有两个选项:

  1. 重试(再次请求许可)
  2. 拒绝(应用程序将在没有该许可的情况下工作)。

但是,如果用户检查Never ask again,则不应显示带有解释的第二个对话框,特别是如果用户之前已经拒绝过一次。现在的问题是:我的应用程序如何知道用户是否检查了Never ask again?IMOonRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)没有给我这些信息。

第二个问题是:Google 是否有计划在权限对话框中加入一条自定义消息来解释应用为什么需要权限?这样就永远不会有第二个对话,这肯定会带来更好的用户体验。

0 投票
1 回答
6996 浏览

android - Android M 使用 permission_groups 请求权限

Android M Preview 文档向我们展示了如何使用新的权限模型检查和请求权限。在下面的图表中,它向我们展示了一组权限组及其相关权限。

当我在第一次开始时尝试checkSelfPermission使用permission_group(ie Manifest.permission_group.CAMERA) 时,可以预见的是,我得到了PackageManager.PERMISSION_DENIED.

然后尝试requestPermissions相同permission_group,我没有弹出任何类型的对话框。'onRequestPermissionsResult' 立即返回-1

当我尝试使用相同的序列时Manifest.permission.Camera- 事情似乎正常工作。但是对于我正在制作的一个简单的应用程序,我需要录制带音频的视频,并请求两个单独的权限,CAMERA并且MICROPHONE(aka RECORD_AUDIO) 似乎是糟糕的设计。

问题:是否应该使用checkSelfPermission,但是有一个我应该提交的错误,因为它不会显示请求?还是这是故意的设计?requestPermissionManifest.permission.*Manifest.permission_group.*

*注意 - 我知道我可以自己创建一个requestPermissions(String[], int)具有多个权限的字符串数组,但是 id 仍然有很多if语句来检查我需要的权限组合并将它们作为一个组请求,而我需要请求一个permission_group

0 投票
1 回答
1799 浏览

android - android-MNC 项目不会在 API 级别“android-MNC”之前的设备上运行

在 Google I/O 主题演讲和关于 Android M 功能的连续讨论之后不久,我开始尝试新的 SDK 功能,例如运行时权限。为此,有必要设置thecompileSdkVersiontargetSdkVersionto android-mnc。在安装了 Android M Developer Preview 的 Nexus 5 上运行项目时,Android Studio 会安装该应用程序,并且它可以在设备上正常运行。

如果我将其设置minSdkVersion为例如 10 以在 2.3.6 设备上测试它或设置为 21 以在 5.0 设备上测试它,它仍然适用于 M-Nexus5,但不适用于上述具有低于 M API 的设备版本。

正如您在以下屏幕截图中看到的那样,即使我将 minSdkVersion 设置为 10 而不是声称的 22 级别,我的 21 级设备仍显示为不兼容。

前台可用设备对话,后台gradle构建文件

降低targetSdkVersionto21并没有什么不同。更改compileSdkVersion不是一个选项,因为权限请求调用在 M(NC) 之前的 SDK 中不可用。

尝试在 pre-M 设备上运行应用程序总是失败并显示错误INSTALL_FAILED_OLDER_SDK

INSTALL_FAILED_OLDER_SDK