Questions tagged «android-6.0-marshmallow»

Android Marshmallow(以前称为“ Android M”)是Android的6.0版,支持API Level 23,并于2015年10月开始发货。


9
无法获得WRITE_SETTINGS权限
当我在Android M Preview 3上的目标API为23时,我似乎无法获得Manifest.permission.WRITE_SETTTINGS权限。 requestPermissions(new String[]{Manifest.permission.WRITE_SETTINGS}, 101); 请求权限不会打开我期望的对话框,但是如果我在没有此权限的情况下进行以下通话, RingtoneManager.setActualDefaultRingtoneUri(activity, RingtoneManager.TYPE_RINGTONE, ringUri); 除非我没有许可,否则电话会打来。 我不确定从这里去哪里。是否有适用于23的新铃声API?还是此权限更改只是使任何非系统应用程序都无法更改铃声?


13
如果用户在显示通知时尝试授予权限,则显示“ Android屏幕检测到屏幕覆盖”消息
我在Nexus 6上安装了Android Marshmallow。我正在尝试解决以下问题: 如果用户在显示通知时尝试授予权限,则会显示“检测到屏幕覆盖”消息,并且“请求权限”对话框将消失-当然,应用程序不会获得请求的权限。(查看屏幕截图) 我尝试通过向清单添加android.permission.SYSTEM_ALERT_WINDOW来添加“在其他应用程序上绘制”权限来解决此问题,但是没有运气。 PS:我确定问题是由通知引起的。我没有安装任何可以覆盖其他应用程序的应用程序,甚至关闭了设置中具有“在其他应用程序上绘图”权限的所有应用程序。没有帮助.. 有人知道该问题的解决方案吗?

5
SYSTEM_ALERT_WINDOW-如何在Android 6.0和targetSdkVersion 23上自动获取此权限
Facebook,Evernote,Pocket-所有应用程序的目标是23(targetSdkVersion=23),它们都会自动在Android 6.0上获得此权限。 关于新的棉花糖权限模型,已经有很多文档。其中之一是SYSTEM_ALERT_WINDOW被“提升”为“高于危险”权限类别,因此需要特殊的用户干预才能与这些用户一起授予应用程序权限。如果应用程序的版本为targetSdkVersion22或更低,则应用程序会自动获得此权限(如果清单中要求)。 但是,我注意到有些应用程序具有此权限,而无需将用户引导到的设置特殊页面 Draw over other apps权限的。我看到了Facebook,Evernote,Pocket-也许还有更多。 任何人都知道如何在不经过用户的情况下为应用授予此权限 Settings -> Apps -> Draw over other apps? 谢谢

12
如何在Android Marshmallow上使用旧版Apache HTTP客户端?
背景 在Android Marshmallow上,Google已完全删除了对Apache HTTP客户端的支持(链接此处),因为与其他替代品相比,它的性能不佳。 这也可能是导致Android Marshmallow上许多应用程序崩溃的原因。 问题 通过将以下行添加到gradle文件中,Google允许您仍然使用此API,而不是内置API: useLibrary 'org.apache.http.legacy' 所以,这就是我所做的: dependencies { classpath 'com.android.tools.build:gradle:1.3.0' } 和: android { compileSdkVersion 'android-MNC' buildToolsVersion "23.0.0 rc3" useLibrary 'org.apache.http.legacy' defaultConfig { applicationId "com.example.user.androidmtest" minSdkVersion 'MNC' targetSdkVersion 'MNC' versionCode 1 versionName "1.0" } 当我尝试它时,它可以很好地编译(没有错误显示,并且我可以运行概念验证应用程序,因为它没有任何特殊的代码),但是当我尝试使用一些我知道的类时,是旧版API(例如“ HttpClient”类)的一部分,我发现它不允许这样做。 我知道不建议您使用此解决方案,但是我们必须至少暂时准备好该应用程序,直到我们100%应对Android Marshmallow应当更改的所有事情,并且我们不希望出现意外情况崩溃的形式。 这是屏幕截图: 问题 为什么会发生?我使用正确了吗? 编辑:在此报告有关此问题的信息: https://code.google.com/p/android/issues/detail?id=181474

4
展开/折叠Lollipop工具栏动画(Telegram应用程序)
我试图弄清楚工具栏的展开/折叠动画是如何完成的。如果您查看Telegram应用程序设置,将会看到有一个列表视图和工具栏。向下滚动时,工具栏将折叠,而向上滚动时,工具栏将展开。还有个人资料图片和FAB的动画。有人对此有任何线索吗?您是否认为他们在其之上构建了所​​有动画?也许我缺少新的API或支持库中的内容。 当您打开微调器时,我在Google日历应用程序中注意到了相同的行为(我不认为它是微调器,但看起来像):工具栏展开,向上滚动时,它折叠。 只是要澄清一下:我不需要QuickReturn方法。我知道,Telegram应用程序可能正在使用类似的东西。我需要的确切方法是Google日历应用效果。我尝试过 android:animateLayoutChanges="true" 并且expand方法效果很好。但是显然,如果我向上滚动ListView,工具栏不会折叠。 我还考虑过添加一个,GestureListener但是我想知道是否有任何API或更简单的方法来实现。 如果没有,我想我会去的GestureListener。希望能有流畅的动画效果。 谢谢!

29
Android M权限对话框未显示
我目前正在尝试使我的应用程序适应Android M的新权限模型。 我正在收集所需的所有权限,然后运行 Log.i("Permissions", "Requesting permissions: " + permissions); requestPermissions(requiredPermissions.toArray(new String[requiredPermissions.size()]), requestCodeForPermissions); requiredPermissions拥有我需要的权限android.permission.WRITE_EXTERNAL_STORAGE。 该例程肯定已执行,因为我在logcat中有Log行: 08-07 12:52:46.469: I/Permissions(1674): Requesting permissions: android.permission.RECEIVE_BOOT_COMPLETED; android.permission.WRITE_EXTERNAL_STORAGE 但是权限对话框从不显示,更不用说onRequestPermissionsResult()了。 我究竟做错了什么?根据一些教程,我发现我什么都没错过。我只有用于测试的仿真器,没有物理设备。这是来自设置的关于屏幕: 图像 也许值得一提:如果我尝试从主屏幕打开已安装应用程序的概述,那么我只会得到launcher3 has exited。我不确定是否可能相关。 有人知道为什么它不显示吗?


9
Android M Camera Intent +权限错误?
我正在尝试为新的Android M权限更改准备好我的应用程序,并发现一些奇怪的行为。我的应用程序使用“相机意图”机制允许用户从相机中获取图片。但是在另一项活动中,需要在“相机”权限下使用相机本身(因为需要此功能的库依赖卡.io)。 但是,如果活动中的M仅在尝试启动Camera Intent时需要Camera Intent,那么我会看到以下崩溃信息(如果我从清单中删除Camera许可,则不会发生这种情况), > 09-25 21:57:55.260 774-8053/? I/ActivityManager: START u0 > {act=android.media.action.IMAGE_CAPTURE flg=0x3000003 > pkg=com.google.android.GoogleCamera > cmp=com.google.android.GoogleCamera/com.android.camera.CaptureActivity > (has clip) (has extras)} from uid 10098 on display 0 09-25 > 21:57:55.261 774-8053/? W/ActivityManager: Permission Denial: starting > Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3000003 > pkg=com.google.android.GoogleCamera > cmp=com.google.android.GoogleCamera/com.android.camera.CaptureActivity > (has clip) …

3
用户10102和当前进程都不具有android.permission.READ_PHONE_STATE
我正在尝试调用android.telecom.TelecomManager类的getCallCapablePhoneAccounts()方法。尽管我已经添加了必需的用户权限,但是却遇到了Security exception。 这是我遇到异常的代码行 List<PhoneAccountHandle> list = getTelecomManager().getCallCapablePhoneAccounts(); 清单中添加了用户权限 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 异常stacktrace引起原因:java.lang.SecurityException:getDefaultOutgoingPhoneAccount:用户10102和当前进程都没有android.permission.READ_PHONE_STATE。在android.os.Parcel.readException(Parcel.java:1599)在android.os.Parcel.readException(Parcel.java:1552)在com.android.internal.telecom.ITelecomService $ Stub $ Proxy.getDefaultOutgoingPhoneAccount(ITelecomService.java :615),位于android.telecom.TelecomManager.getDefaultOutgoingPhoneAccount(TelecomManager.java:439)

1
来自清单的权限在Android 6中不起作用
它完全忽略: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 所以我有例外: 原因:android.view.WindowManager $ BadTokenException:无法添加窗口android.view.ViewRootImpl$W@86fb55b-拒绝此窗口类型的权限 甚至没有列出: 我该如何解决?谢谢。 编辑: 它在“配置应用程序” /“高级” /“在其他应用程序上绘制”中列出。所以我打开它,现在它可以正常工作,但是为什么当我运行我的应用程序时,没有对话框询问许可?所有的权限都被默认关闭,我需要进行设置并手动将其打开?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.