Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); ((Activity)context).startActivityForResult(intent, 1);
如果想跳转可以返回请求数据的activity,则必须还要把context强转为activity。然后重写一个方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == 1){ TextClass.onActivityResult1(requestCode, resultCode, data); } super.onActivityResult(requestCode, resultCode, data); }
这时候问题就来了,这个方法是在Activity中的,在view下不能调用。我们可以折中一下,先在在工程的MainActivity中重写这个方法,因为这个方法是activity退出时的回调方法,所以不管他在那个activity中重写,都会被调用到。然后在方法里调用一个继承自view类中的自定义的一个方法(这个方法各个参数和onActivityResult()中一样),回调方法执行后就会把参数传给自定义的方法,在这个方法里就可以获取数据了。
//我这个是以打开图库获取图片路径为例: public static void onActivityResult1(int requestCode, int resultCode, Intent data){ if(data != null){ Uri uri = data.getData(); String iPath = uri.toString(); Log.i(TAG, iPath + "——-tostirng"); } }