问题标签 [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 投票
2 回答
7230 浏览

android - Android M 中的 INTERNET 权限

关于谷歌最近关于 Android M 和权限模型的公告。

根据官方 Android 文档

安装时授予的有限权限:当用户安装或更新应用程序时,系统会授予应用程序应用程序请求的属于 PROTECTION_NORMAL 的所有权限。例如,闹钟和互联网权限属于 PROTECTION_NORMAL,因此它们会在安装时自动授予。系统还可以授予应用程序签名和系统权限,如系统应用程序和签名权限中所述。安装时不会提示用户授予任何权限。

特别注意它说:

...系统授予应用程序请求的所有权限。

那么,如果应用在其 AndroidManifest.xml 中没有 INTERNET 权限,在这种情况下它不会被授予访问 INTERNET 的权限吗?

或者应用程序是否需要在其清单中添加 INTERNET 权限才能进行网络调用?

0 投票
0 回答
613 浏览

android - Android M 打盹模式和“本机”posix 套接字冻结

不知道是否有人可以帮助考虑 Android M 浮动,因为没有那么多。我的应用程序遇到了一些奇怪的行为。我正在使用像 tcp 客户端套接字这样的本机 posix 来建立一些连接。这些套接字运行良好,直到“打盹”或“应用程序待机”模式没有激活......因为一旦他们这样做,手机重置就不能让我的应用程序再次工作。唯一的解决方案是清除应用程序数据或在手机上重新安装应用程序。我仍然没有调查哪个是后续连接的 errno,那些在打瞌睡模式之后的连接,肯定听起来太奇怪了,需要重新安装完整的应用程序才能修复 posix tcp 连接再次工作。明天我将能够发布有关此问题的更多详细信息。在打瞌睡阻止网络访问之后,有没有人在 Android M 上遇到过类似的问题?谢谢!

0 投票
1 回答
1326 浏览

android - windowSoftInputMode 在 Android M 中无效

我有一个 MainActivityandroid:windowSoftInputMode="adjustNothing"设置在AndroidManifest. 主题有父级Theme.AppCompat.Light.NoActionBar。我向这个活动添加一个 DialogFragment 并在其中显示一个 AlertDialog,然后 alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);在片段内设置。

现在,在 Android 5.1.1 上,它按预期工作。创建对话框时,键盘不会自动显示。当用户点击对话框内的 EditText 时,键盘会弹出并调整活动的大小,使其不会重叠。

问题是在 Android M 上,这不会发生。创建对话框时确实没有显示键盘,但是当用户触摸 EditText 后弹出键盘时,它与对话框重叠。

知道为什么在 M 上会发生这种情况,但在以前的版本上一切正常吗?

编辑:显然在创建一个只有基本问题的 HelloWorld 项目后,我发现以下 2 个活动主题元素导致键盘无法调整大小。如果有人对此事有任何永久解决方案,我会全神贯注(或者更确切地说是眼睛)。

0 投票
0 回答
31 浏览

android - 为什么Android M的权限管理器会显示位置?

我的一个应用程序在清单中列出了这些权限: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION"/> <uses-permission android:name="com.android.vending.BILLING" /> <uses-permission android:name="com.android.vending.CHECK_LICENSE" />

权限管理器显示联系人(预期),但也显示位置:

在此处输入图像描述

简单的问题:为什么权限管理器会显示位置权限?

我的怀疑是 ACTIVITY_RECOGNITION 可能需要位置权限,但拒绝该权限对应用程序的活动识别功能没有影响(据我所知)。

0 投票
11 回答
106489 浏览

android - 如何将 Apache HTTP API(旧版)作为编译时依赖项添加到 Android M 的 build.grade?

正如这里提到的,Android M 将不支持 Apache HTTP API。文档声明:

改用 HttpURLConnection 类。

或者

要继续使用 Apache HTTP API,您必须首先在 build.gradle 文件中声明以下编译时依赖项:

android { useLibrary 'org.apache.http.legacy' }

我已经将项目中对 HttpClient 的大部分使用转换为 HttpURLConnection,但是,我仍然需要在一些领域使用 HttpClient。因此,我试图将 'org.apache.http.legacy' 声明为编译时依赖项,但在 build.gradle 中出现错误:

找不到 Gradle DSL 方法:'useLibrary()'

我的问题是:如何在我的项目中将 'org.apache.http.legacy' 声明为编译时依赖项?

任何帮助深表感谢。谢谢

0 投票
0 回答
710 浏览

android - Android M 开发者预览版 - adb 设备不工作

我今晚在我的 Nexus 5 上刷了 Android M 开发者预览版,现在我无法让 ADB 识别该设备。我启用了开发人员选项,当我重新启动到引导加载程序时,命令“fastboot devices”会列出我的设备。我觉得我可能错过了一些简单的东西。

有什么想法可能是错的吗?

编辑:我还尝试了 MTP 和 PTP USB 配置,重新启动设备,然后拔下并重新插入电缆。

0 投票
1 回答
249 浏览

android - Android 自动备份冲突解决

Android M 引入了应用程序自动备份: https ://developer.android.com/preview/backup/index.html

该服务如何处理冲突解决?

示例:我有 2 台 Android 设备链接到同一个 Google Play 帐户,运行同一个应用程序;并且该应用程序在两个设备之间具有不同的数据。当 Android 备份数据时,Google 如何确定要保留哪些数据?

0 投票
2 回答
2022 浏览

android - 并非 ACCOUNT 权限组中的所有权限都自动授予

在我的应用程序中,我需要以下权限才能创建帐户:

据我了解,在 M 中,这些应该自动授予。

但是,我看到的是只有 GET_ACCOUNTS 被授予。我已经用以下代码检查了这一点:

哪个打印:

如果我尝试请求权限

该对话框显示“允许 AccountPermissions 执行未知操作?”,这让我相信这些不是要从用户那里请求的。此外,ACCOUNT 权限组显示在应用信息页面的旧权限下。

我是否需要做一些事情让 Android 自动授予我这些权限,或者我真的应该向用户请求它们?

0 投票
0 回答
310 浏览

android - 将通话音频路由到听筒 Android M

我想在插入耳机时听到来自听筒的音频通话并使用默认智能手机的麦克风说话。

我阅读了很多关于 stackoverflow 的问题,但没有一个适用于 Android M(开发者预览版)。

有很多方法被弃用,似乎不起作用。有没有人有解决方案?先感谢您。

0 投票
1 回答
229 浏览

java - 升级到 Android M 后清单合并失败

在指向 Android M 预览版中提供的最新 manifest-merger.jar 并将我的应用程序更新为

尝试在这些应用程序上使用清单合并时,我收到以下错误:

我正在使用与以前的 manifest-merger.jar 相同的命令,它曾经可以正常工作。

更新1:添加命令