小编Jos*_*ude的帖子

Android 6 getAccountName()缺少android.permission.GET_ACCOUNTS

在Android 6设备上运行时,我收到以下异常.

java.lang.SecurityException: Missing android.permission.GET_ACCOUNTS
Run Code Online (Sandbox Code Playgroud)

这看起来像一个相当直接的例外,但对我来说并非如此.我的清单看起来像这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="..." >

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />

<application
    ...
Run Code Online (Sandbox Code Playgroud)

抛出此异常的代码段如下:

mLoggedInEmail = Plus.AccountApi.getAccountName(mGoogleApiClient);
Run Code Online (Sandbox Code Playgroud)

在Android 5设备上它工作得很好.

permissions android android-6.0-marshmallow

14
推荐指数
1
解决办法
7957
查看次数

Android意图有时会"处理"而不是ACTION_SEND

我的应用程序应该处理共享文本.例如亚马逊应用程序的URL.所以我在主要活动中添加了以下intent-filter:

    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain" />
    </intent-filter>
Run Code Online (Sandbox Code Playgroud)

在我的活动的onCreate函数中,我正在处理这样的意图:

        intent = getIntent();
        if(intent.getAction() != null) {
            if (intent.getAction().equals(Intent.ACTION_SEND)) {
                if (intent.getType().equals("text/plain")) {
                    onNavigationDrawerItemSelected(1);
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

问题是,有时在共享操作之后不会调用onCreate函数.我检查了onResume方法,实际上这就是所谓的.问题是intents操作不是"ACTION_SEND",而是packagename.handled并且不包含所需的信息.

这是为什么?

android action android-intent

9
推荐指数
1
解决办法
360
查看次数