tli*_*eck 13 cookies android webkit privacy webview
对于允许启用隐私浏览的WebView构造函数,API规范如下所示:
(来自http://developer.android.com/reference/android/webkit/WebView.html)
WebView(Context context,AttributeSet attrs,int defStyle,boolean privateBrowsing)
在API级别17中不推荐使用此构造函数.不再直接通过WebView支持私有浏览,并将在以后的版本中删除.首选使用WebSettings,WebViewDatabase,CookieManager和WebStorage对隐私数据进行细粒度控制.
从API 19(KitKat)开始,私人浏览被禁用.尝试使用值true调用此构造函数会导致IllegalArgumentException.
建议的替代方案在复制私人浏览行为方面甚至不会有一定的效果.CookieManager类是一个单例,所有设置都应用于整个应用程序.使用这种方法没有"对隐私数据的细粒度控制".CookieManager提供的唯一控件是能够为应用程序中存在的每个WebView完全禁用cookie.此更改意味着第三方浏览器无法再以任何身份复制Google自己浏览器的隐私浏览功能.
我非常感谢有关解决此问题的任何建议.到目前为止,我在API中找不到任何可能使之前的私有浏览功能相似的内容.
除了我在评论中的内容之外,这是另一个需要多个进程的地方。由于CookieManager是单例,因此单独的进程将具有单独的CookieManager实例。“私密浏览”WebView实例可以与“常规浏览”实例处于单独的进程中WebView。
这确实有缺点:
它们不能位于同一活动中,因为View一个进程中的活动不能在另一个进程中呈现。因此,如果浏览器的 UI 隐喻意味着WebView单个活动中的多个小部件(例如选项卡),则需要调整该 UI 隐喻以允许常规浏览和私密浏览之间的“上下文切换”。
这将消耗更多的系统 RAM,这对用户不利,但对开发人员有利(出现OutOfMemoryError异常的可能性较小)。
| 归档时间: |
|
| 查看次数: |
4533 次 |
| 最近记录: |