3

ベスト プラクティスではないことはわかっていますが、Note To Self インテントを使用してバックグラウンドでメールを送信したいと考えています。Keep が使用する AUTO_SEND インテントを見つけましたが、Gmail や Keep を開くことができないようです。それらはアクティビティ ピッカーに表示されず、Evermore と Notif のみが表示されます。

これが私が現在試していることです:

    Intent mailClient = new Intent("com.google.android.gm.action.AUTO_SEND");
    mailClient.setClassName("com.google.android.gm", "com.google.android.gm.AutoSendActivity");
    startActivity(mailClient);

ただし、まだエラーが発生します-

04-12 15:06:28.393: W/ActivityManager(443): Permission Denial: starting Intent { act=com.google.android.gm.action.AUTO_SEND cmp=com.google.android.gm/.AutoSendActivity } from ProcessRecord{41adee50 11298:com.email_to_self/u0a10113} (pid=11298, uid=10113) requires com.google.android.gm.permission.AUTO_SEND

次のようにして、許可をマニフェストに追加しました

<uses-permission android:name="com.google.android.gm.permission.AUTO_SEND"> 

しかし、問題は解決しません。何か案は?

4

1 に答える 1

1

できません。

このアクションはこのアクティビティによって処理され、許可が必要ですcom.google.android.gm.permission.AUTO_SEND

    <activity android:name="com.google.android.gm.AutoSendActivity"
              ...
              android:permission="com.google.android.gm.permission.AUTO_SEND">

        <intent-filter android:label="@string/app_name">
            <action android:name="com.google.android.gm.action.AUTO_SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="*/*" />
        </intent-filter>
    </activity>

この権限は Gmail のマニフェストで定義されており、Google のアプリケーションに限定されています (より正確には Gmail と同じキーで署名されています)。

<permission android:name="com.google.android.gm.permission.AUTO_SEND"
            android:permissionGroup="android.permission-group.MESSAGES"
            android:protectionLevel="signature" android:label="@string/auto_send_perm_label"
            android:description="@string/auto_send_perm_desc"/>
于 2014-08-21T21:48:40.707 に答える