對於HTML5-Jquery Mobile Android應用程序,我使用本機代碼訪問相機。我成功地從相機獲取圖像並在本地網頁上顯示它們。我遇到的問題是,當相機意圖關閉時,我的網頁似乎只是第二次重新打開自己,只是這一次JavaScript沒有執行。當我按下設備上的後退按鈕時,我會再次重定向到右頁。Android在onActivityResult後打開新頁面
如何讓我的頁面不會打開兩次?
我用下面的代碼來訪問我的相機:
mWebView.addJavascriptInterface(new Object() {
@SuppressLint("SimpleDateFormat")
public void performClick() {
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String timeStamp = new SimpleDateFormat("yyyy.MM.dd_HH.mm.ss")
.format(new Date());
IMG = new File(APP_LOCATION + File.separator + "images",
timeStamp + ".jpg");
IMG_LOCATION = Uri.fromFile(IMG);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, IMG_LOCATION);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}
}, "openCamera");
@SuppressLint("SimpleDateFormat")
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_PIC_REQUEST) {
if (resultCode == RESULT_OK) {
if (data != null) {
storeImage(data.getData(), IMG);
} else {
storeImage(IMG_LOCATION, IMG);
}
// Call JavaScript function to display image on the webpage
mWebView.loadUrl("javascript:setImage(\"" + IMG_LOCATION
+ "\")");
}
}
}
感謝您的回覆。我試過了,但沒有任何改變。 – MrJM