Android 选择文件drom dropbox选择器后,OnActivityResult()不工作
我正在尝试使用android应用程序中的Dropbox Chooser Api,允许用户从Dropbox中选择文件。我能够从片段中成功启动Dropbox选择器,但在选择文件后,它显示“Creating link…”,然后返回到片段。我已重写onActivityresult()方法以获取有关所选文件的信息。但不幸的是,onActivityresult()未被调用,我无法使用下载管理器下载所选文件 视频\u fragment.javaAndroid 选择文件drom dropbox选择器后,OnActivityResult()不工作,android,dropbox,android-download-manager,Android,Dropbox,Android Download Manager,我正在尝试使用android应用程序中的Dropbox Chooser Api,允许用户从Dropbox中选择文件。我能够从片段中成功启动Dropbox选择器,但在选择文件后,它显示“Creating link…”,然后返回到片段。我已重写onActivityresult()方法以获取有关所选文件的信息。但不幸的是,onActivityresult()未被调用,我无法使用下载管理器下载所选文件 视频\u fragment.java @Override public void supe
@Override
public void super.onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == DBX_CHOOSER_REQUEST){
if (resultCode == Activity.RESULT_OK){
DbxChooser.Result result = new DbxChooser.Result(data);
Log.i("main", "Link to selected file: " + result.getLink());
// Handle the result
Toast.makeText(getContext(),"Successful",Toast.LENGTH_LONG).show();
DownloadManager.Request request = new DownloadManager.Request(result.getLink());
request.setDescription("Downloading from App");
request.setTitle("Downloading..");
// in order for this if to run, you must use the android 3.2 to compile your app
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
// get download service and enqueue file
DownloadManager manager = (DownloadManager) getActivity().getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
}
else {
Toast.makeText(getContext(),"Error connecting Dropbox",Toast.LENGTH_LONG).show();
}
}
else {
super.onActivityResult(requestCode, resultCode, data);
}
}
打开dropbox对话框的代码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myView = inflater.inflate(R.layout.videos_layout,container,false);
mChooser = new DbxChooser("APP_KEY");
mchooser_button= (Button)myView.findViewById(R.id.chooser_button);
mchooser_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mChooser.forResultType(DbxChooser.ResultType.DIRECT_LINK).launch(getActivity(),DBX_CHOOSER_REQUEST);
}
});
return myView;
}
您必须将
添加到清单文件(取自)
如果你计划下载文件,你应该考虑将它们写到哪里,并按照//P>添加适当的权限。 祝你好运
您必须将
添加到清单文件(取自)
如果你计划下载文件,你应该考虑将它们写到哪里,并按照//P>添加适当的权限。
祝你好运 终于解决了这个问题
我所需要做的就是在mainactivity类中而不是在片段java中编写ActivityResult方法。最终解决了这个问题
我需要做的就是在mainactivity类中而不是在fragment java中编写ActivityResult方法。你能发布你为打开DropBox文件选择器对话框而编写的代码吗?@FunkSoulBrother我在描述中添加了。可能的重复代码应该在连接到计算机的真实设备上运行代码,并查看日志输出,以查看是否存在任何问题。您是否已将所需的权限添加到清单文件?您是否尝试运行DropBox示例文件选择器示例并将代码与您的代码进行比较?@logcat我使用的是DropBox选择器而不是camera intent+我的代码中没有startActivityResult命令。我搜索了整个stackoverflow,然后发布了我的问题。你能发布你为打开DropBox文件选择器对话框而编写的代码吗?@FunkSoulBrother我在描述中添加了。可能重复的代码应该在连接到计算机的真实设备上运行,并查看LogCat输出,以查看是否有问题您是否已将所需的权限添加到清单文件?您是否尝试运行DropBox示例文件选择器示例并将代码与您的代码进行比较?@logcat我使用的是DropBox选择器而不是camera intent+我的代码中没有startActivityResult命令。我搜索了整个stackoverflow,然后发布了我的问题。我猜您遵循了DropBox开发者支持网站上的说明,因此我建议您在其他设备上尝试代码,尝试新的API_密钥,并检查可能导致DropBox运行问题的依赖项。我猜您遵循了DropBox开发者支持网站上的说明,因此,我建议在另一台设备上尝试该代码,尝试一个新的API_密钥,并检查可能导致DropBox运行问题的依赖项。