我已经看到了一些非常翔实的文章解释说,SharedObject.getLocal的将返回null,如果它不能找到或创建要求的共享对象,但可以找到任何东西,告诉我为什么这方法会失败。有人想刺穿它吗?SharedObject.getLocal的()返回null
1
A
回答
0
不幸的是,上述back2dos说是正确的 - 基本上闪光灯会告诉你,创建失败,但没有失败的原因。但是,您可以尝试对其为何可能失败做出有根据的猜测,然后提示用户根据需要对失败做些事情。
如果第一次请求它时无法获得空的SharedObject(SO),并且提供的路径是正确的,那么很可能是用户可能已禁用它们。如果写入对象失败,您可以测量您尝试写入的SO的大小,然后如果它超过默认的100KB限制,则可以要求用户增加其存储空间。另外,使用SharedObject.flush()编写SO时,可以指定SO需要的大小,如果该空间不可用,Flash Player将显示一个对话框,要求用户增加其存储空间。
如果用户需要为允许共享对象,或增加允许的存储空间,你可以提供给打开Flash Player设置面板为他们进行必要的更改:
Security.showSettings(SecurityPanel.LOCAL_STORAGE);
0
您的意思是,在运行时找出操作失败的原因?你不能...
要么你给的路径格式不正确,要么你不能访问对象,因为它是安全的,你的swf不是......或者仅仅是因为用户不允许使用共享对象...以及其他可能的原因...
格尔茨
back2dos
0
其实,如果可以不创建对象,SharedObject.getLocal()
会抛出异常。然后可以读取异常消息(或可能的id?)以确定错误。
我刚刚在getLocal()
上抛出一个异常,因为我的自定义类中的所有属性都没有setter。
相关问题
- 1. null == null返回false?
- 2. PropertyInfo.GetValue(null,null)返回null
- 3. 的ExecuteScalar返回null
- 4. 的NSDate返回null
- 5. JQuery的$(返回null
- 6. 返回null的JSON
- 7. 的ArrayList返回null
- 8. 的DriverManager.getConnection返回null
- 9. 的strtok()返回NULL
- 10. 的ThreadPoolExecutor返回null
- 11. 的SelectSingleNode返回null
- 12. 的document.getElementById返回NULL
- 13. UISwitch返回NULL?
- 14. getElementById返回null
- 15. ListView.getTag()返回null
- 16. LocationManager返回null
- 17. BitmapFactory.decodeFile()返回null
- 18. FindFragmentByTag返回null。
- 19. GetEditMenu()返回NULL
- 20. mysql_fetch_assoc返回NULL
- 21. cvCapturefromCAM()返回NULL
- 22. Android:TelephonyManager.getSimSerialNumber()返回null
- 23. WindowsFromDc返回null
- 24. Android:getSupporteFragment返回null
- 25. javac.getStandardFileManager返回null
- 26. XSLT:xsltApplyStylesheet返回null
- 27. getActionView返回null
- 28. CMSampleBufferGetImageBuffer返回null
- 29. BluetoothLEDevice.FromIdAsync返回null
- 30. User.getcurrentUser返回NULL