【发布时间】:2017-06-08 21:27:38
【问题描述】:
我不打算提出问题,但我没有解决这个问题!
我从 IMAP 服务器接收消息时遇到问题。
错误说“引起:java.lang.ClassNotFoundException:在路径上找不到类“java.awt.datatransfer.Transferable”......”这是我的代码:
enter String test(){
String all="";
try{
class Runner extends AsyncTask<Object, String, String> {
@Override
protected String doInBackground(Object... params) {
Looper.prepare();
String all ="";
try{
Message[] msgs = ReceiveMail("imap.gmail.com","993","USER@gmail.com","PASS"); // After passing this line, error logging says error is in this line!
for(Message m: msgs){
all+=m.getSubject()+"\n"+m.getContent().toString()+"\n\n"; // Error shows here, but popups above
}
return all;
}catch (Exception e){
e.printStackTrace();
}
Looper.loop();
return all;
}
}
Runner r = new Runner();
all = r.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, this).get();
}catch (Exception e){
e.printStackTrace();
}
return all;
}
private Message[] ReceiveMail(String host,String port,String user,String pass){
try{
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imaps");
props.setProperty("mail.imaps.host", host);
props.setProperty("mail.imaps.port", port);
props.setProperty("mail.imaps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imaps.socketFactory.fallback", "false");
Session imapSession = Session.getInstance(props);
Store store = imapSession.getStore("imaps");
store.connect(host, user, pass);
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);
return inbox.getMessages();
}catch (Exception e){
e.printStackTrace();
//log_all("ReceiveMail function: "+e.getMessage());
}
return null;
}
什么问题?
注意当我不使用 AsyncTask 时出现“主线程中的网络”错误。
解决方案:
下载 these 并将它们添加为库。
从 module settings 的依赖项选项卡中删除 javax.*。
这样就解决了。
【问题讨论】:
-
显然,您正在使用一些不适用于 Android 的库,因为它是为标准 Java SE 或 Java EE 编写的。
-
1.我不认为 AWT 包含在 Android 中。 2. Java.awt.datatransfer 用于在 java awt/swing 应用程序中拖放。你做了什么得到这样的依赖???
-
@CommonsWare 我没有使用任何外部库。仅在依赖项选项卡中可用 -> 库依赖项!
-
@Axel 我不太确定我做了什么来得到它。我只复制了其他一些已回答并批准的问题的代码,但我们到了!
-
“我没有使用任何外部库”——是的,你是。 “只是依赖项选项卡中的一次可用 -> 库依赖项!” -- 这些是外部库。
标签: java android jakarta-mail