« パブリッシャーになった日 | トップページ | aPadがシンセンをでたらしい »

2011年2月13日 (日)

パッケージの一覧

次はセンサーと言っておきながら、記事はセンサーではありません。

センサーは動いたのですが、結果を通知させるところで詰まっています。

なので、別のとこでお茶でも濁しておきましょう。お題はインストールされているパッケージ一覧の取得です。

PackageManagerなるものを呼び出すと、PackageInfoのリストとして結果が返ってきます。このとき、パラメタとしてflagを渡すと、パッケージの条件を指定することができます。

とりあえず、最近こればっかりやってる気がするArrayAdapterで表示するようにしたのが以下です。ここでは、PackageInfoのなかのpackageNameを取り出してListViewに入れています。次のアプリで特定のintentを持つ別アプリをintent発行前に一覧表示させたいなぁ、と思ったのでその準備として作ってみました。

public class applicationlist extends ListActivity {
      static final String TAG = "PkInfo";

      private Context mContext;
      private PackageManager pm ;
      private List<ApplicationInfo> mApList ;
      private List<PackageInfo> mPkList ;
      
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

       mContext = getApplicationContext();
       pm = getPackageManager();
       int flag = 0;
       mPkList = pm.getInstalledPackages(flag);
      
        setListAdapter(new ArrayAdapter<PackageInfo>(this,R.layout.list_item, mPkList){
           public View getView(final int pos,View cv,final ViewGroup parent) {
                  if (cv == null) {
                        cv = new TextView(mContext);
                  }
                  ((TextView) cv).setText(mPkList.get(pos).packageName);
                  return cv;
            }          
        });
    }
}

« パブリッシャーになった日 | トップページ | aPadがシンセンをでたらしい »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/60027/50861202

この記事へのトラックバック一覧です: パッケージの一覧:

« パブリッシャーになった日 | トップページ | aPadがシンセンをでたらしい »