Androidフォンでgmailメッセージを読むことができるプログラムを作成しようとしています. ラップトップでは問題なく IMAP 経由でメールが接続されていますが、電話でデバッグを開始すると、アプリが予期せず終了します。コード「store.connect」の行で接続に失敗します。マニフェスト ファイルのアクセス許可の問題だと思っていましたが、インターネットのアクセス許可を含めました。何か案は?ご協力ありがとうございました。
PS これは私の最初の投稿なので、他に詳細を追加する必要がある場合はお知らせください。
ありがとう!
これはマニフェスト ファイルです。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.meva.application"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission
android:name="android.permission.INTERNET"/>
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:name="MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="FakeEmailHandler" />
</application>
</manifest>
これは IMAP 接続です
public static int getMail() throws MessagingException
{
java.util.Properties props = new java.util.Properties();
props.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback", "false");
props.setProperty("mail.imap.socketFactory.port", "993");
Session session = Session.getDefaultInstance(props);
Store store = session.getStore("imap");
store.connect("mail.googlemail.com", username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
Message[] message = folder.getMessages();
int messageCount = message.length;
String [] titles = new String[message.length];
// Close connection
folder.close(false);
store.close();
return messageCount;
}
接続をログにラップしました。失敗したパイプと言っています。見てください。
11-14 18:22:56.390: E/myApp(29333): starting connection
11-14 18:22:56.390: I/RT(29442): mPlusClient onConnectionFailed: a{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{426edf90: android.os.BinderProxy@426edf30}}
11-14 18:22:56.401: I/ActivityThread(29517): Pub com.ebay.mobile.providers.itemcacheprovider: com.ebay.mobile.providers.ItemCacheProvider
11-14 18:22:56.411: I/RT(29442): mShouldResolveOnFail = false
11-14 18:22:56.421: W/SocketClient(198): write error (Broken pipe)
11-14 18:22:56.461: E/myApp(29333): Failed Connection