问题描述如下,一个应用启动另外一个应用(比如在文件管理器里面,点击一个视频文件,选择一个视频播放器播放)我用的是下面这个方法:         Intent intent = new Intent();

         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW); File f = new File(path);
intent.setDataAndType(Uri.fromFile(f), "video/*");

startActivity(intent);现在能进到视频播放器,请问我如何在视频播放器里面得到传进来的这个文件全路径?谢谢

解决方案 »

  1.   

         这种情况,用intent把路径字符串 传过去不行吗?
    在发送之前创建intent:
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         intent.setAction(android.content.Intent.ACTION_VIEW);
         intent.putExtra("path",  "video/*");  //在这里把路径字符串一起传输发送:
         intent.setDataAndType(Uri.fromFile(f), "video/*");————这个看起来像是 你的发送
         不如传统点——
         Context.sendBroadcast(intent);//发送      播放器那边接受的时候:
         String Path = intent.getStringExtra("path");————接收到路径存到 变量Path。
      

  2.   


    谢谢你的回复,但是你这个方法,必须两个应用约定好用"Path"来获取文件路径,这样的话,可能不利于第三方软件的开发。我用这个(intent.setDataAndType(Uri.fromFile(f), "video/*");),是想不管什么目标应用都可以获得传过来的文件路径。我用了SDK自带的Music应用,用我这个方法启动它,Music是可以播放的,但我没找到Music的源码,请教高手知道SDK Music自带的源码在哪个目录下?谢谢
      

  3.   

    getIntent().getData() 得到文件路径Uri