草庐IT

Android M 使用 permission_groups 请求权限

AndroidMPreviewdocs向我们展示了如何使用新的权限模型检查和请求权限。在下面的图表中,它向我们展示了一组权限组及其相关权限。当我尝试在第一次启动时使用permission_group(即Manifest.permission_group.CAMERA)checkSelfPermission时,不出所料,我得到了PackageManager.PERMISSION_DENIED。然后尝试requestPermissions以获得相同的permission_group并且我没有弹出任何类型的对话框。'onRequestPermissionsResult'立即返回-1。当我使用

android - 在我重新启动 Android M 上的应用程序之前,无法写入外部存储

我对新的权限系统有疑问。我修改了我的代码以请求WRITE_EXTERNAL_STORAGE的许可。但是我的应用程序无法写入(或读取)SD卡,直到我重新启动应用程序(当然我在对话框中允许它)。之后它工作正常。这不是一个新应用,我已经在list中声明了WRITE_EXTERNAL_STORAGE,在早期的系统上它运行良好。我正在使用checkSelfPermission和requestPermissions方法,当我向sd卡发出读取或写入请求时,我遇到了一个我没有权限的异常。有人知道我错过了什么吗?还是我遇到了错误?SDK版本是最新的(几小时前更新),我正在模拟器上测试。

android - 为 Android M 权限对话框提供自定义文本

是否可以为要求用户授予权限时显示的系统对话框提供自定义文本? 最佳答案 不,您不能自定义对话框的文本,但您可以在请求权限之前提供说明。引自developer.android.com:RequestPermissionsIfyourappneedsadangerouspermissionthatwaslistedintheappmanifest,itmustasktheusertograntthepermission.Androidprovidesseveralmethodsyoucanusetorequestapermission.

android - 如何在打盹模式下移动设备(Android Preview M/Marshmallow)?

我按照此处描述的步骤操作:https://developer.android.com/preview/testing/guide.html#doze-standby情况:Android调试桥版本1.0.32带有PreviewM的Nexus9壳牌:$adbshelldumpsysbatteryunplug=>正常工作,设备已拔下$adbshelldumpsysdeviceidlestep=>输出:步进到:ACTIVE$adbshelldumpsysdeviceidle-h=>不起作用=>输出:Deviceidlecontroller(deviceidle)dumpoptions:[-h]

android - 在 Android M 和旧版本中使用 KeyStore 加密和解密用户名?

我正在尝试使用KeyStore加密和解密应用程序中的用户名,使用KeyPairGeneratorSpec在18到22等旧版本中创建key,KeyPairGeneratorSpec在androidM版本23中被贬低,但AndroidM支持KeyGenParameterSpec。这个KeyGenParameterSpec是否支持向后可比性,或者我该怎么做?我正在尝试这样的事情,有没有更好的解决方案。现在可以正常使用了!在Ciper.getInstance进行加密和解密时,我需要这样做。是否有任何单个参数“RSA/ECB/OAEPWithSHA-256AndMGF1Padding”或“RSA

Android M请求权限非 Activity

我的小部件调用Activity范围之外的安全权限。是否可以在Activity之外为AndroidM请求权限? 最佳答案 我找到了一个似乎可以正常工作的解决方法。诀窍是创建一个透明的Activity,该Activity仅用于请求权限并在之后立即完成。当然,您仍然需要一个上下文,但它不一定是一个Activity。Activity可以通过广播返回结果(授予或拒绝)(因为startActivtyForResult在Activity之外是不可能的)。您可以使用此Activity:importandroid.content.Intentimpo

android - 从服务 Android M 请求位置权限

我正在使用一项在启动时启动并开始检查位置更新的服务。由于AndroidM,一旦我在权限弹出窗口中拒绝位置访问,一旦手机启动,我的服务就会崩溃。由于在这种情况下我没有任何Activity,因此对requestPermissions()的调用会返回ClassCastException,因为我的服务Context无法转换为Activity。我的方法调用:ActivityCompat.requestPermissions((Activity)mContext,newString[]{Manifest.permission.ACCESS_COARSE_LOCATION},REQUEST_COAR

android - 如何将 Android M 默认 USB 配置设置为 MTP 而不是 "charging only"?

每当我的设备(Nexus5、AndroidMPreview3)通过USB连接时,USB配置始终默认为“仅充电”。这很成问题,因为我设备上的USB端口出现故障,有时会在遇到碰撞时断开连接并重新连接,因此我每次都必须从通知抽屉手动将模式更改为MTP(媒体传输协议(protocol))。Debug模式已启用开发设置->USB配置设置为MTP。 最佳答案 我刚刚在我的Nexus5(Android6.0.1)上尝试过,它成功了:确保您的手机未通过USB数据线连接到任何设备进入设置-开发者选项-选择USB配置设置所需的默认连接类型诀窍是让手机与

Android M 奇怪的共享偏好问题

在我运行AndroidMDeveloperPreview2的Nexus5上,当卸载/重新安装应用程序时,设备正在检索我很久以前存储的共享首选项,例如bool值isFirstLaunch。清除这些的唯一方法是从设备设置中手动进行。AndroidM上的共享偏好行为是否有任何变化?我找不到任何关于此的文档。或者AndroidMPreview2ROM可能有错误... 最佳答案 这是因为AndroidM将具有AutomaticBackups(old链接)。摘录:Theautomaticbackupfeaturepreservesthedata

macos - 如何限制 OS X 程序的内存? ulimit -v 都不 -m 工作

我的程序在我运行它们的一半时间里都会耗尽内存。在Linux下,我可以使用ulimit-vmem-in-kbytes设置可用内存的硬限制。实际上,我使用的是ulimit-S-vmem-in-kbytes,所以我在程序中遇到了正确的内存分配问题,我可以中止。但是...ulimit在OSX10.6中不起作用。我已经尝试使用-s和-m选项,但它们不起作用。在2008年,MacRumors中就同一问题进行了一些讨论。,但没有人提出一个好的替代方案。这应该是程序可以了解它消耗过多内存或通过操作系统设置限制的一种方式。 最佳答案 你不能。苹果可以