我一直试图获得在KitKat画廊中选择的图像的绝对图像路径,但它似乎没有成功.IMAGE_FILEPATH无论我做什么,我的变量总是"".这是我的代码onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != Activity.RESULT_OK) return;
if (null == data) return;
Uri originalUri = null;
if (requestCode == 1) {
//JB!!!
Uri uri = data.getData();
if (uri != null) {
try {
// User had pick an image.
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver()
.query(uri,
filePathColumn, null, null, null);
cursor.moveToFirst();
IMAGE_FILEPATH = cursor.getString(0);
cursor.close();
} catch (Exception e) {
Crouton.makeText(this, …Run Code Online (Sandbox Code Playgroud) 我正在使用下面的代码,并且它在下面运行良好android 5。我可以从 SD 卡中选择图像或视频。
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("video/* image/*");
getActivity().startActivityForResult(photoPickerIntent, 1);
Run Code Online (Sandbox Code Playgroud)
然而Android L它只显示视频。尝试搜索但没有找到任何内容,任何帮助将不胜感激。
我用这个例子来获取图像路径.当我获得小图像路径时,每件事情都可以,但是当我想要获得巨大的图像路径时,我的应用程序就会粉碎.我不知道为什么会发生这种情况,因为我不使用ImageView来显示所选路径中的图像.
我的代码在这里打开图库并选择图片:
selectImgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 0);
//urlTV.setText(getMainPath());
}
});
Run Code Online (Sandbox Code Playgroud)
第二个显示路径:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK && data != null){
String realPath;
if (Build.VERSION.SDK_INT < 19){
realPath = RealPathUtil.getRealPathFromURI_API11to18(this, data.getData());
} else {
realPath = RealPathUtil.getRealPathFromURI_API19(this, data.getData());
}
setMainPath(realPath);
/*setFile(realPath);
setToTextViews(Build.VERSION.SDK_INT, data.getData().getPath(), realPath);*/
urlTV.setText(getMainPath());
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
引起:java.lang.IllegalArgumentException:不是文档:content:// media/external/images/media/32257,位于com.example.murager.httpclientapp的android.provider.DocumentsContract.getDocumentId(DocumentsContract.java:629). classes.RealPathUtil.getRealPathFromURI_API19(RealPathUtil.java:19)com.example.murager.httpclientapp.activities.MainActivity.onActivityResult(MainActivity.java:98)at android.app.Activity.dispatchActivityResult(Activity.java:5456)at android Android.app.ActivityThread上android.app.ActivityThread.access $ 1300(ActivityThread.java:151)的android.app.ActivityThread.handleSendResult(ActivityThread.java:3596)上的.app.ActivityThread.deliverResults(ActivityThread.java:3549) $ H.handleMessage(ActivityThread.java:1369)位于android.app.AtoT.Thread.main上的android.os.Handler.dispatchMessage(Handler.java:110)android.os.Looper.loop(Looper.java:193)处.(ActivityThread.java) …
使用此配方尝试从库中选择一个图像,然后将其上传到s3,但我的路径始终返回null.
private string _imgPath;
public void InitializeMediaPicker()
{
Intent = new Intent();
Intent.SetType("image/*");
Intent.SetAction(Intent.ActionGetContent);
StartActivityForResult(Intent.CreateChooser(Intent, "Select Picture"), 1000);
}
public string GetImage()
{
InitializeMediaPicker();
return _imgPath;
}
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
if ((requestCode != 1000) || (resultCode != Result.Ok) || (data == null)) return;
var uri = data.Data;
_imgPath = GetPathToImage(uri);
}
private string GetPathToImage(Android.Net.Uri uri)
{
string path = null;
// The projection contains the columns we want to return in our query. …Run Code Online (Sandbox Code Playgroud) android android-gallery xamarin.android xamarin xamarin.forms
我正在尝试学习如何在应用程序中使用相机,这就是我所达到的,想法是有一个按钮打开相机,我们拍照后图片会立即显示在屏幕上,第二个按钮是从早期版本无法立即显示图片,必须单击以显示它.
无论如何我的问题是,这个代码没有显示在Android 6的图片..在我的Android 5设备上它工作正常..图片保存在"sdcard/camera_app/cam_image.jpg"路径的任何一种方式和按钮没有还没有工作,所以我在思考一下imageview已经从android 5改为6了?问题是如何使这个功能为Android 6手机
public class Add_Comment_Picture extends AppCompatActivity {
static final int CAM_REQUEST = 1;
ImageView imageView;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add__comment__picture);
button = (Button) findViewById(R.id.button);
imageView = (ImageView) findViewById(R.id.imageView);
Button button2 = (Button) findViewById(R.id.button3);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = getFile();
camera_intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
startActivityForResult(camera_intent , CAM_REQUEST);
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String path = "sdcard/camera_app/cam_image.jpg";
imageView.setImageDrawable(Drawable.createFromPath(path)); …Run Code Online (Sandbox Code Playgroud)