如何获取Android webview的WebStorage使用/配额?

时间:2014-10-18 07:42:42

标签: android webview web-storage

我想获得Android Webview使用的用法(以字节为单位)。

我确实通过了http://developer.android.com/reference/android/webkit/WebStorage.html,但文档对我来说并不是很清楚。

关于我应该如何使用哪些来源的任何线索?

现在我被困在这里:

    WebStorage
            .getInstance()
            .getOrigins(
                    new ValueCallback<Map>() {
                                            @Override
                                            public void onReceiveValue(Map webStorageOrigins) {
                                                //WebStorage.getInstance().getUsageForOrigin();
                                                // What now with : webStorageOrigins;

                                            }
                                        }
            );

1 个答案:

答案 0 :(得分:1)

发现它! 感谢https://code.google.com/p/android/issues/detail?id=24180

的某位朋友
            WebStorage.getInstance().getOrigins(new ValueCallback<Map> () {
                @Override
                public void onReceiveValue(Map map) {
                    for(Object key : map.keySet()) {
                        if(Build.VERSION.SDK_INT >= 11) {
                            WebStorage.Origin origin = (WebStorage.Origin) map.get(key);
                            Log.e("AppCache", String.format("Origin: %s Quota: %s Usage: %s",
                                    origin.getOrigin(), origin.getQuota(), origin.getUsage()));
                        } else {
                            Log.e("AppCache", "Key: " + key + " Value: " + map.get(key));
                        }
                    }
                }
            });

我很难在地图上进行迭代。

当你有原始字符串

时,这样做的其他方法
    WebStorage.getInstance().getUsageForOrigin(TheUrl, new ValueCallback<Long>() {
        @Override
            public void onReceiveValue(Long usage) {
            Log.e("AppCache", "Usage:onReceiveValue: "+ usage);
        }
    });