Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Using adb command you can clear browser cache and user data</p> <pre><code>adb shell pm clear com.android.browser </code></pre> <p>but this will not work if you issue this from the android program runtime</p> <p>see my previous <a href="https://stackoverflow.com/questions/10934304/clear-android-application-user-data">question</a> regarding that</p> <p>Although that is temporary solution if you need to clear android browser cache continuously using background running service it can be done with "android.content.pm.IPackageDataObserver".if you looking for that following is that service It tested and work fine</p> <pre><code>import java.util.List; import android.app.PendingIntent; import android.app.Service; import android.content.ComponentName; import android.content.Intent; import android.content.pm.IPackageDataObserver; import android.content.pm.IPackageStatsObserver; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageStats; import android.os.Handler; import android.os.IBinder; public class CacheCleanerService extends Service { public static final String REFRESH_INTENT="tritop.android.slwcachecleanerwidget.REFRESH"; public static final String CLEAR_INTENT="tritop.android.slwcachecleanerwidget.CLEAR"; public static final long RECOUNTNDELAY=1500; private boolean mDND=false; private Handler mHandler; private int statsCounter; private long mCacheSum; private StatsObserver mStatsObs; private ClearCacheObserver mClearObs; private PackageManager mPM; private List&lt;PackageInfo&gt; mInstPkg; private Runnable mTriggerCount = new Runnable() { public void run() { countCache(); } }; private Runnable mAutoKill = new Runnable() { public void run() { stopSelf(); } }; //More info in ApplicationState.java @ android.git.kernel.org class StatsObserver extends IPackageStatsObserver.Stub{ public void onGetStatsCompleted(PackageStats stats,boolean bl){ mCacheSum+=stats.cacheSize; statsCounter++; if(statsCounter&gt;=mInstPkg.size()){ updateWidgets(); } } } class ClearCacheObserver extends IPackageDataObserver.Stub { public void onRemoveCompleted(final String packageName, final boolean succeeded) { } } private void countCache() { statsCounter = 0; mCacheSum = 0; mInstPkg= mPM.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS); for(PackageInfo pInfo: mInstPkg){ // mPM.getPackageSizeInfo(pInfo.packageName, mStatsObs); } } private void clearCache(){ mInstPkg= mPM.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS); //mPM.freeStorageAndNotify(Integer.MAX_VALUE, mClearObs); //mPM.freeStorageAndNotify(Long.MAX_VALUE, mClearObs); mHandler.postDelayed(mTriggerCount, RECOUNTNDELAY); } @Override public IBinder onBind(Intent arg0) { return null; } @Override public void onCreate() { mStatsObs = new StatsObserver(); mClearObs = new ClearCacheObserver(); mPM = getPackageManager(); mHandler = new Handler(); } @Override public void onDestroy() { mHandler.removeCallbacks(mAutoKill); mHandler.removeCallbacks(mTriggerCount); mDND=false; super.onDestroy(); } @Override public void onStart(Intent intent, int startId) { if(!mDND){ mHandler.postDelayed(mAutoKill, 20000); mDND=true; mCacheSum=0; statsCounter=0; if(CLEAR_INTENT.equals(intent.getAction())){ clearCache(); } else{ countCache(); } } } </code></pre> <p>}</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload