我想将图像发布到 twitter。所以我正在使用 twitter 代码,通过使用该代码我完成了身份验证。之后我将图像发布到 twitter。但它没有发布到 twitter。我有图像作为 url,如:http: //www.myappdemo.net/AackAack/aacks/20131011015732.jpg . 我正在使用下面的代码在身份验证后发布图像。
class PostTwittTask extends AsyncTask<String, Void, String> {
ProgressDialog pDialog;
@Override
protected void onPreExecute() {
dialog=MyProgressDialog.show(activity1, null,null);
super.onPreExecute();
}
@Override
protected String doInBackground(String... twitt) {
try {
Log.e("post image",MessageShareActivity.aackurl);
File file=fileCache.getFile(MessageShareActivity.aackurl);
mTwitter.uploadPic(file, twitt[0]);
return "success";
} catch (Exception e) {
if (e.getMessage().toString().contains("duplicate")) {
return "Posting Failed because of Duplicate message...";
}
e.printStackTrace();
return "Posting Failed!!!";
}
}
@Override
protected void onPostExecute(String result) {
dialog.dismiss();
if (null != result && result.equals("success")) {
alertMessage();
} else {
showToast(result);
}
super.onPostExecute(result);
}
}
这是uploadpic方法:
public void uploadPic(File file, String message) throws Exception {
try{
StatusUpdate status = new StatusUpdate(message);
status.setMedia(file);
mTwitter.updateStatus(status);}
catch(TwitterException e){
Log.d("TAG", "Pic Upload error" + e.getErrorMessage());
throw e;
}
}
但最后我在 logcat 中收到以下错误:
10-11 11:27:39.138: W/System.err(11510): /storage/emulated/0/LazyList/-1504959130: open failed: ENOENT (No such file or directory)
10-11 11:27:39.138: W/System.err(11510): Relevant discussions can be found on the Internet at:
10-11 11:27:39.138: W/System.err(11510): http://www.google.co.jp/search?q=b2b52c28 or
10-11 11:27:39.138: W/System.err(11510): http://www.google.co.jp/search?q=11331d52
10-11 11:27:39.138: W/System.err(11510): TwitterException{exceptionCode=[b2b52c28-11331d52 b2b52c28-11331d09 b2b52c28-11331d09], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=3.0.3}
10-11 11:27:39.138: W/System.err(11510): at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:192)
10-11 11:27:39.138: W/System.err(11510): at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
10-11 11:27:39.138: W/System.err(11510): at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:98)
10-11 11:27:39.138: W/System.err(11510): at twitter4j.TwitterImpl.post(TwitterImpl.java:1871)
10-11 11:27:39.138: W/System.err(11510): at twitter4j.TwitterImpl.updateStatus(TwitterImpl.java:252)
10-11 11:27:39.138: W/System.err(11510): at com.aackaack.twitter.TwitterApp.uploadPic(TwitterApp.java:278)
10-11 11:27:39.146: W/System.err(11510): at com.aackaack.twitter.Twitt$PostTwittTask.doInBackground(Twitt.java:226)
10-11 11:27:39.146: W/System.err(11510): at com.aackaack.twitter.Twitt$PostTwittTask.doInBackground(Twitt.java:1)
10-11 11:27:39.146: W/System.err(11510): at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-11 11:27:39.146: W/System.err(11510): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
10-11 11:27:39.146: W/System.err(11510): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-11 11:27:39.146: W/System.err(11510): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-11 11:27:39.146: W/System.err(11510): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-11 11:27:39.146: W/System.err(11510): at java.lang.Thread.run(Thread.java:856)
10-11 11:27:39.146: W/System.err(11510): Caused by: java.io.FileNotFoundException: /storage/emulated/0/LazyList/-1504959130: open failed: ENOENT (No such file or directory)
10-11 11:27:39.146: W/System.err(11510): at libcore.io.IoBridge.open(IoBridge.java:416)
10-11 11:27:39.146: W/System.err(11510): at java.io.FileInputStream.<init>(FileInputStream.java:78)
10-11 11:27:39.146: W/System.err(11510): at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:119)
10-11 11:27:39.146: W/System.err(11510): ... 13 more
10-11 11:27:39.146: W/System.err(11510): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
10-11 11:27:39.146: W/System.err(11510): at libcore.io.Posix.open(Native Method)
10-11 11:27:39.146: W/System.err(11510): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
10-11 11:27:39.154: W/System.err(11510): at libcore.io.IoBridge.open(IoBridge.java:400)
10-11 11:27:39.154: W/System.err(11510): ... 15 more
所以请建议我如何解决这个问题。提前致谢