Articles of android permissions

为什么添加了READ_PHONE_STATE权限?

在我刚刚发布到Play商店的最新测试版中,我注意到自上一版本以来添加了READ_PHONE_STATE 。 我自己没有添加这个。 所有我都记得的事情,因为以前的版本使用v9.6.0的各种播放服务库(是v9.4.0): compile ‘com.google.android.gms:play-services-location:9.6.0’ compile ‘com.google.android.gms:play-services-places:9.6.0’ compile ‘com.google.android.gms:play-services-auth:9.6.0’ 这会做到吗? 我看不出它的记录。 我可以取消许可吗? 而且我确保我使用的所有库都与主应用程序相匹配,根据这个答案 ……在我的情况下没有任何区别。 编辑 基于这篇文章 ,我已经深入研究了我的日志输出,以find: ADDED from [Meteogram:jobdispatcher:unspecified] C:\Users\Me\AndroidStudioProjects\Meteogram\app\build\intermediates\exploded-aar\Meteogram\jobdispatcher\unspecified\AndroidManifest.xml:37:25-84 android:uses-permission#android.permission.READ_PHONE_STATE 但是自上一版本以来,jobdispatcher库(我作为gradle模块导入到我的项目中)没有任何变化。 EDIT2 这个日志还有一点,我的感觉是,可能是因为游戏服务库版本被怀疑了? ADDED from [Meteogram:jobdispatcher:unspecified] C:\Users\Me\AndroidStudioProjects\Meteogram\app\build\intermediates\exploded-aar\Meteogram\jobdispatcher\unspecified\AndroidManifest.xml:37:17-87 android:name ADDED from [Meteogram:jobdispatcher:unspecified] C:\Users\Me\AndroidStudioProjects\Meteogram\app\build\intermediates\exploded-aar\Meteogram\jobdispatcher\unspecified\AndroidManifest.xml:37:25-84 android:uses-permission#android.permission.READ_PHONE_STATE IMPLIED from C:\Users\Me\AndroidStudioProjects\Meteogram\app\src\pro\AndroidManifest.xml:2:1-12:12 reason: com.google.android.gmscore.integ.client.location has a targetSdkVersion < 4 activity#com.google.android.gms.common.api.GoogleApiActivity targetSdkVersion < 4与上面链接的其他答案匹配,但是在这种情况下我能做些什么,因为播放服务库不是我的? EDIT3 我find了一个答案……而不是删除这个问题,我会用解决方案将其留下来,以防它对其他人有用(以防万一其他人有更好的解决方案!) EDIT4 看起来它已在9.6.1修复。

Android M:以编程方式撤消权限

我目前正在玩android m的新权限系统。 我计划的是在我的应用内设置中添加一个屏幕,用户可以在其中授予或撤消权限。 屏幕看起来像常规系统设置屏幕,但会有其他信息,为什么我的应用程序需要特定权限。 此设置屏幕将是文档中建议的常规权限处理的补充。 工作流程将是: 授予权限:打开系统对话框以授予/撤消( 如此处建议的那样 ) 撤消权限:以编程方式撤消它 所以我的问题是,可以以编程方式撤销权限吗? 我搜索了很多,但没有得到一些结果。

Android,find代码中的所有地方以请求权限

我正在开发一个Marshmallow设备的应用程序。 源代码不是我编写的,项目本身也很大。 我目前正在使应用程序在需要时请求权限。 问题是:如何在代码中find应该请求权限的所有地方? 我正在使用Android Studio。 编辑 有些人建议将api更改为23,然后运行应用程序并查看崩溃的位置。 问题是应用程序不会在每个地方崩溃。 例如,在没有权限的情况下运行此代码会使应用程序崩溃: TelephonyManager manager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); 虽然这个只返回一个空数组,而不是崩溃。 final String[] SELF_PROJECTION = new String[]{ ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,}; Cursor cursor = context.getContentResolver() .query(ContactsContract.Profile.CONTENT_URI, SELF_PROJECTION, null, null, null); 此外,Android Lint不会显示这些地方。 我不确定它是否应该。

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

是否可以为系统对话框提供自定义文本,该对话框在要求用户授予权限时显示?

关于Android中自定义权限的几个问题

我正在学习Android编程,我有点理解自定义权限的概念。 根据我的理解,这是自定义权限的工作原理: ‘Base app’可以通过声明自定义权限(即使用清单文件中的标记)和调用受自定义权限保护的活动和服务的’client app’ ‘Base app’来保护其某些组件(例如,活动和服务)需要获取必要的权限(即,使用清单文件中的标签)来调用base app中的这些组件。 但是,我有关于自定义权限的这些问题: 如果自定义权限被声明为危险(即android:protectionLevel=”dangerous” ), client app需要在安装期间获得用户的批准? 如果是这样,用户如何知道这些自定义权限,因为没有任何自定义权限的文档。 在安装期间, client app如何知道base app已安装在用户的手机中? 无论如何, client app是否知道此信息? 安装client app程序后,如果用户决定删除base app程序,会发生什么? 在这种情况下,如果用户尝试使用client app是否会导致任何安全性exception? 我不知道这些问题是否有意义,但它让我想知道自定义权限在实际场景中是如何实际工作的。 谢谢。

找不到处理意图action.dial的活动

我正试图让我的应用程序从EditText调用一个数字,但我得到: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.DIAL dat=Ring Tel nr. 123456789 } 我已经搜索了一段时间以获得答案,但大多数答案都是权限并向Manifest添加活动。 如果我做错了,我已经做了两件事。 我在手机上运行它,而不是模拟器。 无论是否使用了intent-filters,我都尝试过。 以下是代码:Manifest: 拨打电话的按钮(从SharedPrefs获取电话号码到下面的a1 🙂 knapp_ring.setOnClickListener(new View.OnClickListener() { Intent call = new Intent(Intent.ACTION_DIAL); @Override public void onClick(View v){ call.setData(Uri.parse(“Telnr:” + a1)); startActivity(call); } });

ACCESS_NETWORK_STATE和INTERNET有什么区别?

ACCESS_NETWORK_STATE和INTERNET有什么区别? 如果我使用INTERNET,是否有必要使用ACCESS_NETWORK_STATE? 换句话说,我可以在不使用ACCESS_NETWORK_STATE的情况下使用INTERNET吗?

Android studio在真实设备上运行应用程序后添加了不必要的权限

在设备应用程序上运行应用程序后,需要在清单文件中未提及的不需要的位置权限 当我从我的朋友Android工作室运行相同的代码而不是运行正常时,无需额外的权限。 清单文件 的build.gradle apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion “21.1.2” defaultConfig { applicationId “xxxxxxx” minSdkVersion 14 targetSdkVersion 21 // Enabling multidex support. multiDexEnabled true } dexOptions { javaMaxHeapSize “4g” } packagingOptions { exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ exclude ‘META-INF/LICENSE’ exclude ‘META-INF/NOTICE’ } lintOptions{ abortOnError false } } repositories { mavenCentral() } dependencies { […]

Android静音/取消静音手机

我的目标是支持2个操作: 静音电话(可能启用/禁用振动),因此当接到电话或短信时,它不会发出噪音 取消静音电话并将音量恢复到静音手机之前的状态 我怎样才能做到这一点? AndroidManifest需要哪些权限?

调用需要API级别23(当前最小值为14):android.app.Activity#requestPermissions,checkSelfPermission

我正在尝试添加运行时权限android(6.0.1)API 23,如果我使用SDK版本( min和目标版本都是23 )它很好,如下所示, 如果我改变android:minSdkVersion(少于23) 例如: 我收到以下错误: 调用需要API级别23(当前最小值为14):android.app.Activity#requestPermissions,checkSelfPermission 对于以下2种方法, 1)requestPermissions(permissionsList.toArray(new String[permissionsList.size()]),REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS) 2)checkSelfPermission(permission) 我试过ActivityCompat.checkSelfPermission()和ContextCompat.checkSelfPermission()都不起作用。 我错过的东西无法理解..