相关疑难解决方法(0)

如何获取Android设备的主要电子邮件地址

你如何获得Android的主要电子邮件地址(或电子邮件地址列表)?

我的理解是,在OS 2.0+上支持多个电子邮件地址,但在2.0以下,每个设备只能有一个电子邮件地址.

email android

408
推荐指数
7
解决办法
25万
查看次数

通过Android访问Google帐户ID /用户名

如何在代码中访问用户的Google帐户ID /用户名?我正在构建一个应用程序,它将调用Web服务来存储数据,我想识别提交数据的人的身份.

android google-account

70
推荐指数
3
解决办法
11万
查看次数

为什么在包含Google Play服务库时,权限会自动添加到我的AndroidManifest中

我注意到,当我在build.gradle文件中使用以下内容时,会自动添加以下权限

compile 'com.google.android.gms:play-services:7.5.0'
Run Code Online (Sandbox Code Playgroud)

早期版本的播放服务不会出现这种情况.有没有人有解决方案来删除这些不需要的权限?

我只使用广告功能(INTERNET和ACCESSNETWORK_STATE).我不需要LOCATION和USE_CREDENTIALS权限.如何删除这些不需要的权限?

我注意到'manifest-merger-xxx-debug-report.txt'文件包含以下内容

 ...<snipped bunch of other merges>
MERGED from com.google.android.gms:play-services-maps:7.5.0:22:5
    android:name
        ADDED from com.google.android.gms:play-services-maps:7.5.0:22:22
uses-permission#android.permission.ACCESS_COARSE_LOCATION
ADDED from com.google.android.gms:play-services-maps:7.5.0:23:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:23:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:23:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:23:5
    android:name
        ADDED from com.google.android.gms:play-services-maps:7.5.0:23:22
uses-feature#0x00020000
ADDED from com.google.android.gms:play-services-maps:7.5.0:24:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:24:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:24:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:24:5
    android:glEsVersion
        ADDED from com.google.android.gms:play-services-maps:7.5.0:25:8
    android:required
        ADDED from com.google.android.gms:play-services-maps:7.5.0:26:8
android:uses-permission#android.permission.READ_EXTERNAL_STORAGE
IMPLIED from AndroidManifest.xml:2:1 reason: com.google.android.gms.maps requested WRITE_EXTERNAL_STORAGE
uses-permission#android.permission.GET_ACCOUNTS
ADDED from com.google.android.gms:play-services-wallet:7.5.0:21:5
    android:name
        ADDED from com.google.android.gms:play-services-wallet:7.5.0:21:22
uses-permission#android.permission.USE_CREDENTIALS
ADDED from com.google.android.gms:play-services-wallet:7.5.0:22:5
    android:name
        ADDED from com.google.android.gms:play-services-wallet:7.5.0:22:22 …
Run Code Online (Sandbox Code Playgroud)

android android-manifest admob android-permissions google-play-services

29
推荐指数
2
解决办法
6876
查看次数

Android:获取用户ID而不需要可怕的(用户)权限?

为了管理用户偏好,目前我正在抓取谷歌用户名(实际上是他们已经注册到设备的电子邮件地址)并使用(散列)作为"用户ID"来区分不同的用户.与此处描述的内容类似.

这一切都运行正常,但有些用户(可以理解)被任何许可吓到了,似乎给应用程序一些邪恶的力量来浏览他们的帐户信息或联系人.

编辑:谷歌现在在Android 6 运行时权限模式中实现权限组的方式更加严重.他们已经进入了许可组.现在,为了生成唯一的匿名用户ID,必须向用户显示一个对话框,其中显示:GET_ACCOUNTSCONTACTS

允许此应用访问您的联系人?| 拒绝| 允许|

这有多误导?我的应用程序不希望访问联系人,但要求用户授予该应用程序访问联系人的权限!是的,有机会向用户解释一个单独的对话框,事实上,不需要访问联系人,但是他们仍然得到股票系统对话框,要求他们授予访问联系人的权限......自然他们会想"如果不需要访问联系人,为什么我被要求授予此权限?" 并且"我真的相信开发者吗?他们说不需要访问联系人,但这是真的吗?"......非常混乱,用户体验非常糟糕恕我直言(以及其他人的意见).

我宁愿避免所有这些麻烦和混乱,并获得唯一的用户ID,而无需特殊权限.

那么SDK中是否有一个库存函数或方法,它将为用户返回唯一的用户ID,而不需要任何其他权限?如果没有,我会感到很惊讶,因为想要做的事情似乎很常见......拥有用于管理应用用户的用户ID.

两点:

(a)我只需要一个匿名用户ID ......我实际上并不需要用户的电子邮件地址,也不需要用户的电子邮件地址.因此,我无法getUserID()理解为什么谷歌无法提供返回唯一匿名ID的方法,而无需向应用授予特殊权限.

(b)它必须是用户ID,而不是设备ID,以便它可以在注册到同一个Google帐户的所有用户设备上运行.

谢谢.

android android-permissions

16
推荐指数
1
解决办法
6131
查看次数