星空网 > 软件开发 > 操作系统

(转)Android调用系统自带的文件管理器进行文件选择并获得路径

Android区别于iOS的沙盒模式,可以通过文件浏览器浏览本地的存储器。Android API也提供了相应的接口。

基本思路,先通过Android API调用系统自带的文件浏览器选取文件获得URI,然后将URI转换成file,从而得到file。

调用系统自带的文件浏览器

public class MainActivity extends AppCompatActivity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    Button btn= (Button) findViewById(R.id.btn);    btn.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);        intent.setType("*/*");//设置类型,我这里是任意类型,任意后缀的可以这样写。        intent.addCategory(Intent.CATEGORY_OPENABLE);        startActivityForResult(intent,1);      }    });  }}

 intent.setType(“image/*”);//intent.setType(“audio/*”); //选择音频//intent.setType(“video/*”); //选择视频 (mp4 3gp 是android支持的视频格式)//intent.setType(“video/*;image/*”);//同时选择视频和图片

回调

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {  if (resultCode == Activity.RESULT_OK) {//是否选择,没选择就不会继续    Uri uri = data.getData();//得到uri,后面就是将uri转化成file的过程。    String[] proj = {MediaStore.Images.Media.DATA};    Cursor actualimagecursor = managedQuery(uri, proj, null, null, null);    int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);    actualimagecursor.moveToFirst();    String img_path = actualimagecursor.getString(actual_image_column_index);    File file = new File(img_path);    Toast.makeText(MainActivity.this, file.toString(), Toast.LENGTH_SHORT).show();  }}

onActivityResult函数响应了选择文件的操作。

(转)Android调用系统自带的文件管理器进行文件选择并获得路径

(转)Android调用系统自带的文件管理器进行文件选择并获得路径

 转载来至:http://www.banbaise.com/archives/614




原标题:(转)Android调用系统自带的文件管理器进行文件选择并获得路径

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

出口尼日利亚预警:突发新政致使清关成本上涨6.5%!:https://www.goluckyvip.com/news/1105.html
2019年全球最有价值的25个物流品牌排行榜:https://www.goluckyvip.com/news/1106.html
海运成本包含海运费意外的海运“箱”费_海运成本所包含的费用:https://www.goluckyvip.com/news/1107.html
东南亚电器认证标准,Shopee和Lazada卖电子产品的要求:https://www.goluckyvip.com/news/1108.html
昂麦_海外仓服务商:https://www.goluckyvip.com/news/1109.html
Shopee站内引流3大运营技巧:最佳上新时段与上新数量 :https://www.goluckyvip.com/news/111.html
Mercado Livre将投资46亿美元加注巴西市场:https://www.kjdsnews.com/a/1840706.html
神农架何时旅游更佳,穷游神农架更佳攻略:https://www.vstour.cn/a/402237.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流