相关疑难解决方法(0)

Android ACTION_IMAGE_CAPTURE意图

我们正在尝试使用原生相机应用程序让用户拍摄新照片.如果我们省略EXTRA_OUTPUT extra并返回小的Bitmap图像,它就可以正常工作.但是,如果我们putExtra(EXTRA_OUTPUT,...)在启动它之前处于意图状态,那么一切都会有效,直到您尝试点击相机应用程序中的"确定"按钮."确定"按钮无效.相机应用程序保持打开状态,没有任何锁定.我们可以取消它,但文件永远不会被写入.我们究竟要做什么ACTION_IMAGE_CAPTURE才能将拍摄的照片写入文件?

编辑:这是通过MediaStore.ACTION_IMAGE_CAPTURE意图完成的,只是为了清楚

camera android return-value android-intent android-camera-intent

161
推荐指数
6
解决办法
17万
查看次数

拍摄相机意图后删除图库图像

我知道这有许多不同的方式,但我似乎无法从默认文件夹中删除图库图像.我正确地将文件保存到SD卡,我可以删除该文件,但在Camera文件夹下显示的默认图库文件不会删除.

我希望在返回活动后删除图像,因为文件已存储在SD卡下/Coupon2.

有什么建议?

public void startCamera() {
    Log.d("ANDRO_CAMERA", "Starting camera on the phone...");

    mManufacturerText = (EditText) findViewById(R.id.manufacturer);
    String ManufacturerText = mManufacturerText.getText().toString();
    String currentDateTimeString = new Date().toString();

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File filedir = new File(Environment.getExternalStorageDirectory()+"/Coupon2");
    filedir.mkdirs();

    File file = new File(Environment.getExternalStorageDirectory()+"/Coupon2", ManufacturerText+"-test.png");
    outputFileUri = Uri.fromFile(file);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

    startActivityForResult(intent, CAMERA_PIC_REQUEST);
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == CAMERA_PIC_REQUEST && resultCode == -1) {  
        Intent intent = new Intent("com.android.camera.action.CROP");
        intent.putExtra("crop", …
Run Code Online (Sandbox Code Playgroud)

android image android-camera-intent

64
推荐指数
4
解决办法
5万
查看次数

managedQuery()vs context.getContentResolver.query()vs android.provider.something.query()

很简单.这三者有什么区别?

我想列出设备中的每个图像.我应该使用managedQuery(),android.provider.MediaStore.Images.Media.query()还是context.getContentResolver.query()

android

46
推荐指数
2
解决办法
4万
查看次数

Android错误:java.lang.IllegalStateException:尝试重新查询已经关闭的游标

环境(Linux/Eclipse Dev for Xoom Tablet运行HoneyComb 3.0.1)

在我的应用程序中,我正在使用相机(startIntentForResult())来拍照.拍摄照片后,我得到了onActivityResult()回调,并且能够使用通过"拍照"意图传递的Uri加载位图.此时我的活动已恢复,尝试将图像重新加载到图库时出错:

FATAL EXCEPTION: main
ERROR/AndroidRuntime(4148): java.lang.RuntimeException: Unable to resume activity {...}: 
 java.lang.IllegalStateException: trying to requery an already closed cursor
     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2243)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1019)
     at android.os.Handler.dispatchMessage(Handler.java:99)
     at android.os.Looper.loop(Looper.java:126)
     at android.app.ActivityThread.main(ActivityThread.java:3997)
     at java.lang.reflect.Method.invokeNative(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:491)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
     at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.IllegalStateException: trying to requery an already closed cursor
     at android.app.Activity.performRestart(Activity.java:4337)
     at android.app.Activity.performResume(Activity.java:4360)
     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2205)
     ... 10 more
Run Code Online (Sandbox Code Playgroud)

我正在使用的唯一光标逻辑是在拍摄图像后,我使用以下逻辑将Uri转换为文件

String [] projection = {
    MediaStore.Images.Media._ID, 
    MediaStore.Images.ImageColumns.ORIENTATION,
    MediaStore.Images.Media.DATA 
};

Cursor cursor = activity.managedQuery( …
Run Code Online (Sandbox Code Playgroud)

android cursor illegalstateexception android-loadermanager

18
推荐指数
3
解决办法
2万
查看次数

Android:从相机获取图片时会发生NPE

我的Android应用有问题.我正MediaStore.ACTION_IMAGE_CAPTURE打算用相机拍照.它适用于大多数设备,但我在Android市场上的DroidX设备上遇到了以下崩溃错误.

我认为imageCaptureUri在这种情况下不能为空.所以这不是原因.

你有什么想法?这是固件错误吗?

java.lang.NullPointerException位于com.eb.android.activity.Add活动的com.eb.android.activity.AddActivity.getBase64Receipt(AddActivity.java:193)的android.content.ContentResolver.openInputStream(ContentResolver.java:286).发布Receipt(AddActivity.java:204)at com.eb.android.activity.AddActivity.access $ 0(AddActivity.java:203)at com.eb.android.activity.AddActivity $ 1.run(AddActivity.java:50)at java .lang.Thread.run(Thread.java:1102)


java.lang.NullPointerException位于com.eb.android.activity.Add活动的com.eb.android.activity.AddActivity.getBase64Receipt(AddActivity.java:193)的android.content.ContentResolver.openInputStream(ContentResolver.java:288).发布Receipt(AddActivity.java:204)at com.eb.android.activity.AddActivity.access $ 0(AddActivity.java:203)at com.eb.android.activity.AddActivity $ 1.run(AddActivity.java:50)at java .lang.Thread.run(Thread.java:1096)

这是我的实施:

public class AddActivity extends Activity {

    public static final int TAKE_RECEIPT = 2;

    private Uri imageCaptureUri;

    private Runnable submitReceiptRunnable = new Runnable() {
        public void run() {
            publishReceipt();
        }
    };

    private ProgressDialog progressDialog;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add);

        registerListeners();
    }

    public void onActivityResult(int reqCode, int resultCode, Intent data) {
        super.onActivityResult(reqCode, resultCode, …
Run Code Online (Sandbox Code Playgroud)

camera android

9
推荐指数
1
解决办法
1926
查看次数

Android - Phonegap - 如何获取所拍照片的文件名

因此,当我拍照时,它们会被保存到DCIM/Camera /目录中.我需要在通过电子邮件发送后检索图片.

我怎样才能得到最后一张照片的名字?(或调整我当前的代码以自定义文件名.)

这是拍照的代码:

function capturePhoto(id) { 
navigator.camera.getPicture(onSuccess, onFail, { quality: 20,
destinationType: Camera.DestinationType.FILE_URI });    

function onSuccess(imageURI) {  
var image = document.getElementById(id);  

image.style.display = 'block'; 
image.src = imageURI;  

}   

function onFail(message) {  
alert('Failed because: ' + message);  
}  
}
Run Code Online (Sandbox Code Playgroud)

android cordova

3
推荐指数
1
解决办法
7638
查看次数

用相机拍照和获取图片路径android

我的应用程序使用手机相机拍照并将图片存储在手机图库中.我想获得该图片路径并将其存储在我的数据存储区中.有人可以帮帮我吗?继承我的代码:

public void onClick(View v){
        switch(v.getId())
        {
            case R.id.btnLoadPic:

                //Options for the dialogue menu
                final CharSequence[] items = {"Camera", "Gallery"};

                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("Choose an Option");
                builder.setItems(items, new DialogInterface.OnClickListener() {
                    /**
                     * Make onclick functionality for the options in the dialogue menu
                     */
                    public void onClick(DialogInterface dialog, int item) {

                        // Camera option
                        if (item == 0){

                            PackageManager pm = getPackageManager();

                            if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)){
                                //Toast.makeText(this, "camera", Toast.LENGTH_SHORT).show();
                                dispatchTakePictureIntent(11);
                            } else {
                                Toast.makeText(null, "No camera avalible", Toast.LENGTH_SHORT).show();

                            }
                        }
                        // …
Run Code Online (Sandbox Code Playgroud)

android android-image android-camera android-imageview

2
推荐指数
1
解决办法
9777
查看次数

如何从相机意图获取图像路径?

我使用Android 2.1,我想从相机意图结果获得真正的路径.我从ACTION_IMAGE_CAPTURE Intent读取了Get Path of image,但是它适用于android 2.2.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (requestCode == CAMERA_RESULT)
    {
        Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
        imv.setImageBitmap(thumbnail);
         Uri selectedImageUri = data.getData();
         String path = getRealPathFromURI(selectedImageUri);
    }
}

private String getRealPathFromURI(Uri contentUri)
{
    try
    {
        String[] proj = { MediaStore.Images.Media.DATA };
        Cursor cursor = managedQuery(contentUri, proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    }
    catch (Exception e)
    {
        return contentUri.getPath();
    }
}
Run Code Online (Sandbox Code Playgroud)

camera android image android-intent

2
推荐指数
2
解决办法
8869
查看次数