我有應用程序拍攝照片並將其發送到服務器。拍照和服務器(接受圖像)完全分開運行。當我嘗試使用下面的代碼拍攝照片後發送服務器時,導致強制關閉應用程序。下面是代碼:作爲Sending images using Http Post使用NameValuePair傳遞參數
登錄貓說
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (resultCode == RESULT_OK){
Uri imageUri=data.getData();
List<NameValuePair> params = new ArrayList<NameValuePair>(1);
params.add(new BasicNameValuePair("image", imageUri.getPath()));
post("http://myserver-address",params);
}
}
後的方法是一樣的:
java.lang.RuntimeException: Unable to resume activity
{com.john.smith/com.john.smith.Activity}: java.lang.RuntimeException:
Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null}
to activity {com.john.smith/com.john.smith.Activity}:
java.lang.NullPointerException
我認爲,也有一些是錯誤的參數傳遞給發送功能。因爲,我嘗試禁用我的發送功能中的所有行,仍然面臨錯誤。而這個錯誤會導致應用程序關閉。
我該如何解決這個問題?如何將照片傳到send
以外的其他功能?
更新:
我這樣稱呼它是
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch (requestCode) {
case ACTION_TAKE_PHOTO_B: {
if (resultCode == RESULT_OK) {
handleBigCameraPhoto();
Uri imageUri=data.getData();
List<NameValuePair> params = new ArrayList<NameValuePair>(1);
params.add(new BasicNameValuePair("image", imageUri.getPath()));
post("http://myserver-address",params);
}
}
break;
} // ACTION_TAKE_PHOTO_B
} // switch
}
檢查'imageUri'是該行後空'Uri imageUri = data.getData();'。另外,'handleBigCameraPhoto'中有什麼? – climbage
我查過Uri imageUri = data.getData();它確實返回null,如何獲取從相機捕獲的圖像? –