2013-09-22 13 views
21

Ben bu uygulamayı önbelleğiyle temizlerim, ancak parçada çalışmak için getPackageManager nasıl elde edeceğimi anlayamıyorum. İşte kodum. Herhangi bir yardım çok takdir edilecektir. Ben android ve java için çok yeni. Çok teşekkür ederim.parça Android içindePackageManager almak için nasıl

public class Cache extends SherlockFragment { 

    Button cache; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.cache, null); 
     cache = (Button) view.findViewById(R.id.button3); 

     cache.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Toast.makeText(getActivity(), "Cache is Cleared", Toast.LENGTH_SHORT).show(); 
       PackageManager pm = getPackageManager(); 

       // Get all methods on the PackageManager 
       java.lang.reflect.Method[] methods = pm.getClass().getDeclaredMethods(); 

       for (java.lang.reflect.Method m : methods) { 
        if (m.getName().equals("freeStorageAndNotify")) { 
         // Found the method I want to use 
         try { 
          long desiredFreeStorage = Long.MAX_VALUE; // Request for free space 
          m.invoke(pm, desiredFreeStorage , null); 
         } catch (Exception e) { 
          // Method invocation failed. Could be a permission problem 
         } 
         break; 
        } 
       } 
      } 

      private PackageManager getPackageManager() { 
       // TODO Auto-generated method stub 
       return null; 
      }}); 
     return view; 
    } 
} 

cevap

41

Eğer getActivity() aracılığıyla, getPackageManager() erişmek mümkün olmalıdır.

Örneğin getActivity().getPackageManager()

+1

teşekkürler bu işe yaradı – dfuse06

İlgili konular