2015-04-15 33 views
8

Uygulamamın verilerini programlı olarak silmek istiyorum. clearApplicationUserData yöntemini buldum. Ama çalıştırdığımda, uygulama kendini en aza indirir. Yani, uygulama, ana düğmeye basıldığında olduğu gibi arka plana gider.clearApplicationUserData uygulaması en aza indirir app

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
    ((ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE)) 
         .clearApplicationUserData(); 
} else { 
     // TODO 
} 

app minimize etmeden bu yöntemi kullanarak verileri silmek için bir yol yoktur: Bu benim kodudur?

+2

Neden bunu yapıyorsunuz? – portfoliobuilder

+1

Uygulamamın verilerini programlı olarak silmek istiyorum. Bu yöntem API'da. Kullanamıyorum mu? =) – androidevil

+0

Uygulama küçültme ile ne demek istiyorsun? –

cevap

3

Yöntem ActivityManager.clearApplicationUserData() tüm uygulamanızın verilerini silmek ve herhangi bir uyarı olmaksızın doğrudan uygulama sürecini öldürecektir. Belgeleri ve kaynağı kontrol ediyorum, bir hata gibi değil ama böyle çalışmak için tasarlanmış gibi görünüyor. Tamamen başvurunuzu sıfırlamak için bu yöntem tasarlanmıştır

  1. : Ben aşağıdaki gibi bazı spekülasyon var. Belki kullanıcılarınıza tamamen sıfırlama seçeneği sunabilirsiniz.
  2. Bu yöntem, kullanışlılığı sınamak için tasarlanmıştır (uygulamayı yeniden yüklemeden sıfırlayabilirsiniz).

uygulamanızın verilerini yönetmek için kendi yöntemini implemet istiyorsanız. This answer belki yardımcı olabilir.

0
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)); 

       } 
      } 
     } 
    } 
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(); 
    } 
+0

^https://hrupin.com/2011/11/how-to-clear-user-data-in-your-android-application-programmatically –

İlgili konular