目前,我正在将我的应用迁移到目标API 23。
我需要一段时间来弄清楚为什么accountManager.getAccountsByType("com.google")
不再有效。这是由于新的Marshmallow权限模型 - http://developer.android.com/intl/es/training/permissions/requesting.html
我使用的是Android Studio 1.5.1
根据http://tools.android.com/tips/lint-checks,我希望lint能够警告我以下代码,基于 MissingPermission
public static String getEmail() {
Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+
AccountManager accountManager = AccountManager.get(MyApplication.instance());
Account[] accounts = accountManager.getAccountsByType("com.google");
for (Account account : accounts) {
if (emailPattern.matcher(account.name).matches()) {
String possibleEmail = account.name;
return possibleEmail;
}
}
}
我检查了系统中安装的lint。我可以通过
确认 MissingPermission 功能c:\adt-bundle-windows-x86_64-20140624\sdk\tools\lint.bat --show
但是,我在Android Studio中没有收到任何警告。我在Android Studio中检查了lint设置。
好像 我没有看到任何"遗失的许可"那里的选择。
我的Android Studio设置有什么问题吗?
我可以看到EverNote团队提交了一份有关丢失权限的lint检查的错误报告 - https://code.google.com/p/android/issues/detail?id=182165但是自Android Studio 1.4以来它已修复