2013-09-22 25 views
21

Tôi có ứng dụng này mà tôi xóa bộ nhớ cache với, nhưng tôi không thể tìm ra cách để có được getPackageManager để làm việc trong đoạn. Đây là mã của tôi. Bất kỳ trợ giúp sẽ được rất đánh giá cao. Tôi rất mới với android và java. Cảm ơn nhiều.làm thế nào để getPackageManager trong mảnh Android

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; 
    } 
} 

Trả lời

41

bạn sẽ có thể truy cập getPackageManager(), thông qua getActivity().

Ví dụ getActivity().getPackageManager()

+1

cảm ơn người đàn ông đã làm việc – dfuse06

Các vấn đề liên quan