从活动中,我可以轻松设置onActivityResult()和调用startActivityForResult(),一切正常.
现在,我需要startActivityForResult()从Dialog 打电话.但我无法设置onActivityResult(),我相信Dialog不是Activity.
我如何得到结果?
我在对话框中尝试这样的东西,但它失败了.
//create new Intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, m_PicUri);
((Activity) getContext()).startActivityForResult(intent, Const.TAKE_PIC_ACTIVITY_RET_CODE);
Run Code Online (Sandbox Code Playgroud) Microsoft创建了他们的Windows和MFC DLL库等.开源开发编写新的MFC应用程序并将源代码作为GPL发布.该应用程序必须链接MS DLL /库才能在Windows中运行,但我认为没有人可以争辩说我们现在有权强迫微软的GPL使用他们的DLL.
这是否意味着GPL许可证实际上取决于首先"创建"哪一个? 如果首先创建专有库(例如Windows DLL),这是在没有链接和任何GPL代码的情况下发布的,后来GPL程序与之链接,那么GPL程序无法将专有库转换为GPL,尽管专有代码是" "与GPL代码相关联.
如果是这种情况,公司如此NVidia或RealNetworks可以做以下事情吗?让我们假设他们喜欢将专有的HDDecoding媒体解码引擎库保密,但他们也希望"利用"开源GPL代码来展示他们的硬件.
理论上可以说,创建与NVidia专有媒体解码器库链接的GPL vlc.exe文件的开源开发人员违反了GPL许可证.
这是否意味着在Windows中运行的所有GPL程序(如VLC,git,cygwin等)都违反了GPL许可证,因为它们肯定需要与专有的Microsoft Windows库链接才能运行.
案例2:这有什么问题:
NVidia可以创建一个新的硬件抽象库,隐藏最新的图形功能.他们还使用此库创建一个FreeBSD驱动程序,并发布BSD驱动程序的源代码,但不发布库源代码.
有人(Linux开发人员)可以实现与该库链接的linux驱动程序,以便为Linux创建NVidia图形驱动程序.但是由于NVidia没有这样做,他们可以保持库源"隐藏",同时启用"Linux支持".
这当然违反了GPL的精神.
这是否意味着在Windows/Mac/Iphone/PSP3中运行使用GPLed源创建的任何exe也违反了GPL的精神?
我只是在Windows 10中安装Octave 4.2.0并尝试进行一些机器学习练习.我注意到我无法将正常的剪贴板内容粘贴到Octave.
还有其他人有这个问题吗?如果是这样,任何解决方法?或者它只是程序中的错误?