我在 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 点
- 您可以在 Activity 类中调用 OnActivityResult 方法 2.如果你想在 Activity 类之外调用 OnActivityResult 那么你应该将你的 Activity 类的上下文传递给你的非 Activity 类..
关于java - 无法在android中获取选择器文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840105/