2017-04-20 35 views
0

我知道Android 7你不能通过File //但在这种情况下,我没有这样做。出于测试目的,当用户选择一个文件时,我只是想要另一个类。当我点击一个视频时,该应用只是停止响应,所以没有崩溃日志或任何东西。这是我的onActivityResult方法:Android 7(api 24)来自图库的OnActivityResult,我无法意图到另一个类

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 
     if (requestCode == REQUEST_TAKE_GALLERY_VIDEO) { 
      Uri selectedImageUri = data.getData(); 

      // OI FILE Manager 
      String filemanagerstring = selectedImageUri.getPath(); 

      // MEDIA GALLERY 
      String selectedImagePath = getPath(selectedImageUri); 
      if (selectedImagePath != null) { 
       Log.d(TAG, "THE PATHHHHHHHHH " + selectedImagePath); 
       Intent intent = new Intent(getActivity().getApplicationContext(), 
         GalleryUpload.class); 
       // intent.putExtra("path", selectedImagePath); 
       startActivity(intent); 
      } 


     } 
    } 
} 
+0

取消您的putExtra行注释,然后确保您在目标活动上正确使用意图 –

+0

@WillEvers问题是我不能从这个方法意图 –

回答

1

替换所有的与:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 
     if (requestCode == REQUEST_TAKE_GALLERY_VIDEO) { 
      Uri selectedImageUri = data.getData(); 
      Intent intent=new Intent(getActivity(), GalleryUpload.class) 
       .setData(selectedImageUri) 
       .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
      startActivity(intent); 
     } 
    } 
} 

这正确处理两者filecontentUri方案,包括沿着通过读取GalleryUpload访问。然后

GalleryUpload可以使用getIntent().getData()检索Uri,然后用ContentResolveropenInputStream()获得由Uri标识内容的InputStream

+0

问题不在于获取返回结果(uri/file /等),问题是我从onActivityResult方法意图。当我运行上面的代码时,我得到了相同的结果。即使我没有从数据中获取uri,当我尝试着意图时,应用仍然冻结。 –