java - 无法在android中获取选择器文件的路径

标签 java android

我在 simpleWindow 类中使用此代码打开视频选择器。

ImageView btnselect = (ImageView) view.findViewById(R.id.imageView2);
btnselect.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent intent = new Intent();
        intent.setType("video/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        StandOutExampleActivity.a.startActivity(Intent.createChooser(intent, "Play Video"));    
    }
});

这个 simpleWindow 没有扩展 Activity 类。那么如何在此类中使用“onActivityResult”呢?

这是我的 onActivityResult 方法,但是当我在类里面使用它时,出现错误。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.e("requestCode",""+requestCode);
    if (requestCode == 1) {           
        Uri selectedImageUri = data.getData();
        imagepath= getRealPathFromURI(selectedImageUri);
        Toast.makeText(a, imagepath, Toast.LENGTH_LONG).show();
    }
}

那么如何在我的类(class)中获取选定的文件路径?

最佳答案

public class MainScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main_screen);



    SelectVedio = (ImageButton) findViewById(R.id.btnSelectVedio);
    SelectVedio.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {


            Intent mediaChooser = new Intent(
                    Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            // comma-separated MIME types
            mediaChooser.setType("video/*");
            startActivityForResult(mediaChooser, RESULT_LOAD_VEDIO);
        }
    });



}


    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK) {
        // Uri targetUri = data.getData();

        String path;

        path = getRealPathFromURI(data.getData());



}
}

你的问题对我来说不是很清楚。但是如果你会遇到问题,那么请记住 2 点

  1. 您可以在 Activity 类中调用 OnActivityResult 方法 2.如果你想在 Activity 类之外调用 OnActivityResult 那么你应该将你的 Activity 类的上下文传递给你的非 Activity 类..

关于java - 无法在android中获取选择器文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840105/

相关文章:

android - Android Studio 3.1.2 上的 NDK_PROJECT_PATH=null

java - 使用java将数据存入数据库时​​出现异常如何跳过?

java - 识别和匹配文件中的非 ASCII 字符

java - 在 Java 中检查树是否为二叉搜索树的代码测试用例失败。不确定为什么

java - 安卓USB应用

Android 和 FragmentManager

android - 是否选中切换按钮

java - 使用 System.out.println 的简单程序没有输出

java - fork /加入 : optimal threads count

java - 关闭背景图像触摸 libgdx 上的对话框