我很驚訝PhoneGap沒有公開一個處理這個函數的函數 - 他們當然要求在陽光下獲得所有權限!
,如果你正在創建的網頁,你當然可以定義一個js接口,又會做startActivityForResult,像這樣:
today.setToNow();
PackageManager pm = getPackageManager();
// if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
// {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.EXTRA_OUTPUT, FileContentProvider.CONTENT_URI);
if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA))
i.putExtra("camerasensortype", 1); // call the rear camera
else if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT))
i.putExtra("camerasensortype", 2); // call the front camera
else Toast.makeText(getBaseContext(), "Camera is not available", Toast.LENGTH_LONG).show();
i.putExtra("autofocus", true);
i.putExtra("fullScreen", false);
i.putExtra("showActionIcons", false);
startActivityForResult(i, CAMERA_REQUEST);
// }
else askForGPS(this);
然後
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == CAMERA_REQUEST)
{...}
甚至不需要實現一個接口=]
然後你有你的照片;設置一個ContentProvider並指向你的上傳者。 =]
不使用輸入類型文件,它在Android 4.4上壞了http://stackoverflow.com/questions/19882331/html-file-input-in-android-webview-android-4-4-kitkat – jcesarmobile
嘿@gonzalomelov,只是想知道你是否發現了有關你的情況的任何有用信息?我和你的設置完全相同(ST2 + phonegap),並且有完全相同的問題。我在這裏找到的大多數答案都是無關緊要的,因爲人們提出的建議是「使用2個按鈕」或「用一堆代碼捕獲webview中的意圖」等等。我只想知道,如果可能我缺少一個簡單的設置/配置,或者我將不得不重新設計我的捕獲工作流程。 – JChow
@JChow,我搜索了很多,但沒有成功。我們開發的最終解決方案包括兩個按鈕和Phonegap Camera插件。如果Android允許像iOS那樣的打包應用程序的輸入標籤,那將會很棒。乾杯! – gonzalomelov