Articles of android 6.0 marshmallow

如何从Doze模式中选择退出应用程序?

如何从android M DOZE模式中选择退出我的应用程序? 是否有标准方法在运行时有选择地包含和排除DOZE和自动待机中的应用程序?

Cordova:无法使用corodva-plugin-calendar构建项目

我正在开发cordova应用程序,我希望通过日历获得某种预订function。 为此,我安装了非常着名的EddyVerbruggen / Calendar-PhoneGap-Plugin插件。 但是在构建项目时,它会抛出以下错误 /home/admin/Desktop/myApp/platforms/android/src/nl/xservices/plugins/Calendar.java:148: error: cannot find symbol if (PackageManager.PERMISSION_GRANTED != ContextCompat.checkSelfPermission(this.cordova.getActivity(), type)) { ^ symbol: method checkSelfPermission(Activity,String) location: class ContextCompat /home/admin/Desktop/myApp/platforms/android/src/nl/xservices/plugins/Calendar.java:157: error: cannot find symbol ActivityCompat.requestPermissions( ^ symbol: method requestPermissions(Activity,String[],int) location: class ActivityCompat Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. 2 errors FAILED […]

Android M – GoogleAccountCredential setSelectedAccount不起作用 – 名称不能为null

在Android M-Preview上, GoogleAccountCredential.setSelectedAccount似乎不起作用。 调试时,我注意到在调用该方法后,该对象的selectedAccount和accountName字段仍然为null。 在调试时,您可以看到我的variablesaccountName不为空或为null,我调用.setSelectedAccountName() ,但正如您在调试窗口中看到的那样,GoogleAccountCredential中的字段仍为空。 我认为这可能与某些权限有关? 在我的清单上,我声明了以下权限: 我知道您在M上免费获得GET_ACCOUNTS权限(根据https://developer.android.com/preview/features/runtime-permissions.html#normal ),但其他两个权限对M来说是“未知” -预习。 也许吧,那就是那个?

如何使用Permissionsdispatcher库获取新的Android M运行时权限?

我遇到了一篇奶酪工厂文章(google it因为我不能发布超过2个链接和我的声誉),这解释了如何处理Android Marshmallow的新权限系统。 在本文中,他引用了Permissionsdispatcher库 ,旨在减少样板代码。 所以我从GitHub下载了库演示,但是我收到一条错误,说明MainActivityPermissionsDispatcher无法解析。 根据我的理解,应该生成这个类 。 如何生成它以删除错误? MainActivity.java @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { // delegate the permission handling to generated method // MainActivityPermissionsDispatcher cannot be resolved MainActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults); }

Android M权限安装/更新行为

使用Android Marshmallow,有一个新的权限模型。 对我受影响的应用权限实施新模型并不是什么大问题。 但是有一些关于安装和更新行为的问题。 我发现了一些对我很重要的场景。 我知道官方文档( https://developer.android.com/preview/features/runtime-permissions.html ),有些事情可能很清楚,但我想确定。 目标SDK最大的应用程序 22安装在M设备上并授予所有权限 – >使用新权限模型更新应用程序 目标SDK最大的应用程序 安装在M设备上并拒绝所有权限 – >使用新权限模型更新应用程序 在M设备上安装带有目标SDK 23的应用程序 具有目标SDK 22或23并且授予所有权限的应用程序 – >添加已授予组权限(read_storage)的新权限和另一个组的新权限(read_contacts) 目标SDK 23和read_contacts已授予的应用程序 – >从联系人组添加另一个权限(write_contacts)

活动识别在Android 6.0中运行权限

我正在尝试实现活动识别,因此它将支持api 23.我已经按照此处运行的权限指南进行操作: https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous 我无法确定活动识别是否被归类为危险许可或正常? 即使在谷歌的活动识别样本中,他们也没有针对api 23: https : //github.com/googlesamples/android-play-location/tree/master/ActivityRecognition 是否有可能在Android 6.0中不支持活动重新认知?

如何在Android 6.0中继续使用浏览器书签更改(API 23)

在我的应用程序中,我一直在使用其中一些在使用Android 6.0( buildToolsVersion “23.0.1” )时unknown的function,其function是: Browser.getAllVisitedUrls(getContentResolver()); , BookmarkColumns.URL等 如何在Android 6.0中使用相同的function。 在Android 6.0中已更改的内容列表中 ,我看到以下内容: 浏览器书签更改 此版本删除了对全局书签的支持。 现在删除了android.provider.Browser.getAllBookmarks()和android.provider.Browser.saveBookmark()方法。 同样,删除了READ_HISTORY_BOOKMARKS和WRITE_HISTORY_BOOKMARKS权限。 如果您的应用针对Android 6.0(API级别23)或更高版本,请勿访问全局提供商的书签或使用书签权限。 相反,您的应用应该在内部存储书签数据。 这究竟意味着什么? **Instead, your app should store bookmarks data internally** ??? 我正在访问使用Chrome浏览器应用访问过的网站历史(当然是明确的用户权限),如何继续这样做?

Android – 在Android API 17中使用指纹API

最近,谷歌允许开发人员在Android 6.0(API 23)中使用指纹API。 我有一个带有compiledSdkVersion 23和minSdkVersion 17的android项目。 我的问题是:我可以在我的项目中使用指纹API,我试图在我的项目中使用Google示例,但我有以下错误消息: Class Requires API level 23 (current min is 17) 如果我能,我会感激任何人给我一个很好的教程。 谢谢

Android – 空闲时允许重复警报

我需要每隔X小时设置一次重复警报,甚至会在打盹模式下触发。 但是,AlarmManager for Android 23中唯一可用的Apis是setExactAndAllowWhileIdle和setAndAllowWhileIdle,它们不用于重复警报。 我想知道每次发射时我是否应该重新安排闹铃? 或者有更好的解决方案吗?

Android:为电信注册新的PhoneAccount

我正在尝试创建一个新的PhoneAccount来使用我的ConnectionService实现。 它在文档中说我需要在TelecomManager中注册一个新的PhoneAccount,然后在我的手机应用程序设置中选择它。 这是我的代码: TelecomManager telecomManager = (TelecomManager) getSystemService(Context.TELECOM_SERVICE); ComponentName componentName = newComponentName(“se.example.connectionservicestandalonetest”, “se.example.connectionservicestandalonetest.MyConnectionService”); PhoneAccountHandle phoneAccountHandle = new PhoneAccountHandle(componentName, “Admin”); PhoneAccount phoneAccount = PhoneAccount.builder(phoneAccountHandle, “Admin”).build(); telecomManager.registerPhoneAccount(phoneAccount); 如您所见,它创建了一个新的ComponentName,指向我的ConnectionService实现,然后创建一个新的PhoneAccountHandle,我提供ComponentName和一个唯一的帐户名。 然后,我在PhoneAccount构建中提供PhoneAccountHandle,以及标签(名称?),以创建新的PhoneAccount。 最后,我在telecomManager中注册了该帐户。 当我打开手机应用程序时,没有任何改变。 我看不到我可以改变PhoneAccount的地方……有什么想法吗? 谢谢!