в моем приложении я хочу сделать снимок, и я хочу, чтобы оно было просмотрено в другой деятельности.кодирование для моей камеры работает правильно только для захвата и хранения изображения в SDCard, когда я добавил несколько дополнительных кодов для перемещения захваченного изображения из одного занятия в другое, когда камера не работает.
в logcat следующая ошибка04-08 17: 28: 43.771: ОШИБКА / AndroidRuntime (8717): java.lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.resting.gis / com.resting.gis.Camera}: android.content.ActivityNotFoundException: Невозможно найти явный класс действий {com.resting.gis / View};объявили ли вы это действие в файле AndroidManifest.xml?
, но в файле манифеста было упомянуто действие View
Ниже приведен мой код для захвата изображения
protected static final int TAKE_RECEIPT = 0;
private Uri imageCaptureUri;
private String filename;
private Runnable submitReceiptRunnable = new Runnable()
{
public void run()
{
publishReceipt();
}
private void publishReceipt()
{
}
};
private ProgressDialog progressDialog;
OutputStream outStream;
Intent myIntent;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.camera);
takePictureFromCamera();
}
private void takePictureFromCamera()
{
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "tmp_receipt_"
+ String.valueOf(System.currentTimeMillis()) + ".jpg"));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageCaptureUri);
intent.putExtra("return-data", true);
startActivityForResult(intent, TAKE_RECEIPT);
String path = String.format("/sdcard/%d.jpg",System.currentTimeMillis());
try
{
outStream = new FileOutputStream(path);
doFileUpload(path);
Log.e("Camera",""+outStream);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
Intent i=new Intent();
i.setClassName("com.resting.gis","View");
i.putExtra("image", path);
startActivity(i);
}
private void takeReceiptCallback(int resultCode, Intent data)
{
if (resultCode == Activity.RESULT_OK)
{
submitReceipt();
}
}
private void submitReceipt()
{
Thread thread = new Thread(null, submitReceiptRunnable);
thread.start();
// progressDialog = ProgressDialog.show(this, "Please wait...", "Publishing receipt ...", true);
}
private String getBase64Receipt() {
try {
InputStream inputStream = getContentResolver().openInputStream(imageCaptureUri);
// byte[] bytes = CommonUtil.getBytesFromInputStream(inputStream);
// return Base64.encodeBytes(bytes);//(selectedImage.getPath().getBytes());
}
catch (IOException e)
{
Log.e("getbase64Reciept", ""+e);
}
return null;
}
private void publishReceipt()
{
String receipt = getBase64Receipt();
}
Пожалуйста, помогите мне найти, где я иду не так