0

これが私がこれまでに試したことです。何が間違っているのかわかりません。写真を撮って ImageView に設定する場合は問題なく動作しますが、場所を取得しようとするコードを追加するとクラッシュします。

protected void onActivityResult(int requestCode, int resultCode, final Intent data) {

    if (resultCode == Activity.RESULT_OK && requestCode == ACTION_IMAGE_CAPTURE) {
        new Thread(new Runnable() {
            public void run() {
                final Bitmap bm = (Bitmap) data.getExtras().get("data");
                Uri uri = data.getData();
                Cursor cursor = getBaseContext().getContentResolver().query(uri, new String[] {android.provider.MediaStore.Images.ImageColumns.LATITUDE,
                        android.provider.MediaStore.Images.ImageColumns.LONGITUDE }, null, null, null);
                if(cursor.moveToFirst()){
                    int latIndex = cursor.getColumnIndex(android.provider.MediaStore.Images.ImageColumns.LATITUDE);
                    int lonIndex = cursor.getColumnIndex(android.provider.MediaStore.Images.ImageColumns.LONGITUDE);
                    double longitu = cursor.getDouble(lonIndex);
                    double latitu = cursor.getDouble(latIndex);
                    Log.d("picloc", longitu + " "+latitu);
                }

                iv.post(new Runnable() {
                    public void run() {
                        iv.setImageBitmap(bm);
                    }
                });
            }

        }).start();
    }
4

0 に答える 0