首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >清除Android计费本地缓存?

清除Android计费本地缓存?
EN

Stack Overflow用户
提问于 2013-01-16 08:57:16
回答 3查看 4.2K关注 0票数 3

我正在使用V3查询来自play商店的购买信息。我想知道是否可以清除本地缓存。

V3为计费API添加了本地缓存功能,以减少网络流量。我有一个每天运行的更新服务,它更新我的元数据,由于我在应用程序中显示了成本,所以我希望刷新本地缓存并触发更新,以防我更新了价格,以确保显示正确的价格。

文档显示:

因为Google客户端现在在设备上本地缓存应用程序计费信息,所以您可以使用版本3 API来更频繁地查询这些信息,例如通过getPurchases调用。与以前版本的API不同,许多版本3的API调用将通过缓存查找来服务,而不是通过与Google的网络连接来服务,这大大加快了API的响应时间。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-22 11:34:36

不幸的是,Google客户端正在进行缓存,也没有公开用于清除缓存的API。

我不明白你为什么要清理缓存?任何更改都会通知Google客户端,因此将相应地使其缓存失效。假设返回的电话是正确的。

票数 0
EN

Stack Overflow用户

发布于 2018-12-07 14:51:51

您必须知道,android在应用程序购买一次购买是只允许一个用户在一生中一次。您再次需要它,您必须发出请求或在游戏控制台中创建一个新产品。要获得更多信息,请访问此链接。

一次

票数 1
EN

Stack Overflow用户

发布于 2013-01-16 09:09:20

试试这个:

添加以下Application类:

代码语言:javascript
代码运行次数:0
运行
复制
package com.hrupin.cleaner;

import java.io.File;

import android.app.Application;
import android.util.Log;

public class MyApplication extends Application {
    private static MyApplication instance;

    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
    }

    public static MyApplication getInstance() {
        return instance;
    }

    public void clearApplicationData() {
        File cache = getCacheDir();
        File appDir = new File(cache.getParent());
        if (appDir.exists()) {
            String[] children = appDir.list();
            for (String s : children) {
                if (!s.equals("lib")) {
                    deleteDir(new File(appDir, s));
                    Log.i("TAG", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************");
                }
            }
        }
    }

    public static boolean deleteDir(File dir) {
        if (dir != null && dir.isDirectory()) {
            String[] children = dir.list();
            for (int i = 0; i < children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }

        return dir.delete();
    }
}

然后,从任何一个Activity打这个电话

代码语言:javascript
代码运行次数:0
运行
复制
MyApplication.getInstance().clearApplicationData();

参考资料:

如何以编程方式清除Android应用程序中的用户数据

谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14354475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档