2013-09-22 5 views
21

私はキャッシュをクリアしているこのアプリを持っていますが、フラグメントの中でgetPackageManagerを取得する方法を理解できません。 ここに私のコードです。どんな助けでも大歓迎です。私はアンドロイドとjavaにはとても新しいです。どうもありがとうございました。フラグメントのAndroidでgetPackageManagerを取得する方法

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

答えて

41

あなたはgetActivity()を通じて、getPackageManager()にアクセスすることができるはずです。

getActivity().getPackageManager()

+1

ありがとうございました – dfuse06

関連する問題