3

Androidデバイス(Wildfire S)から、デフォルトのHTCメールアプリケーションから、ContentProviderを使用してSMSを読み取るのと同様のメールを読みたいです。

Uri allMessage = Uri.parse("content://sms/");
ContentResolver cr = getContentResolver();
Cursor c = cr.query(allMessage, null, null, null, null);
while  (c.moveToNext()) {
    smss.add(new SMSObject(c)); //custom object which just retrieves all fields
}

同様の何かがメールでも利用できるはずなので、利用可能なすべてのContentProviderを確認します。

for (PackageInfo pack : getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS)) {
    ProviderInfo[] providers = pack.providers;
    if (providers != null) {
        for (ProviderInfo provider : providers) {
            Log.d("Example", "provider: " + provider.authority);
        }
    }
}

このリスト(、、、などが含まれているのでgmail-ls、私は正しい方向に進んでいます)で見つけたので、これを試しました:smscom.android.calendarmail

Uri allMessage = Uri.parse("content://mail/");
ContentResolver cr = getContentResolver();
Cursor c = cr.query(allMessage, null, null, null, null);
while  (c.moveToNext()) {
    emails.add(new SMSObject(c)); //custom object. should work with emails as well
}

しかし、私はこの例外を受け取りました:

11-14 11:48:42.105: E/AndroidRuntime(3609): java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.me.emailretriever/nl.me.emailretriever.MainActivity}: java.lang.SecurityException: Permission Denial: opening provider com.htc.android.mail.MailProvider from ProcessRecord{40685dd8 3609:nl.me.emailretriever/10076} (pid=3609, uid=10076) requires com.htc.android.mail.permission.READ_MAIL or com.htc.android.mail.permission.WRITE_MAIL..。 11-14 11:48:42.105: E/AndroidRuntime(3609): Caused by: java.lang.SecurityException: Permission Denial: opening provider com.htc.android.mail.MailProvider from ProcessRecord{40685dd8 3609:nl.me.emailretriever/10076} (pid=3609, uid=10076) requires com.htc.android.mail.permission.READ_MAIL or com.htc.android.mail.permission.WRITE_MAIL

そこで、両方の権限を追加しましたが、役に立ちませんでした。

<uses-permission android:name="com.htc.android.mail.permission.WRITE_MAIL" />
<uses-permission android:name="com.htc.android.mail.permission.READ_MAIL" />

SMSにアクセスできるように、どのように電子メールを読んだりアクセスしたりできますか?必要な権限を持っているのに、なぜ例外が発生するのですか?

4

0 に答える 0