`

列出手机中所有的App,点击启动

阅读更多

Main layout

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<LinearLayout android:layout_width="fill_parent"
		android:layout_height="50dip" android:gravity="center_vertical|center_horizontal">
		<TextView android:layout_width="wrap_content"
			android:layout_height="wrap_content" android:text="选择安装文件" />
	</LinearLayout>
	<ListView android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:id="@+id/list" />
</LinearLayout>

 

 

Item Layout

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/item" android:orientation="horizontal"
	android:layout_width="fill_parent" android:layout_height="80dip">
	<LinearLayout android:layout_width="240dip"
		android:layout_height="40dip" android:gravity="left">
	<TextView android:text="appName:  " android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:layout_gravity="center_vertical" />
	<TextView android:id="@+id/appname" android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:maxLines="1" 
		android:marqueeRepeatLimit="marquee_forever"
		android:ellipsize="marquee"
		android:maxWidth="100dip" android:layout_gravity="center_vertical" />
		</LinearLayout>
	<LinearLayout android:layout_width="120dip"
		android:layout_height="40dip" android:layout_gravity="right">
		<Button android:id="@+id/btn" android:layout_width="80dip"
			android:layout_height="40dip" android:text="打开"
			android:layout_gravity="center_vertical" />
	</LinearLayout>
</LinearLayout>

 

 

TestActivity

 

package com.nico;

import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;

public class TestActivity extends Activity {
	public List<ApplicationInfo> applist = null;
	public ListView list = null;
	public LayoutInflater inflater = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		list = (ListView) findViewById(R.id.list);
		myAdapter madapter = new myAdapter();
		inflater = getLayoutInflater();
		applist = this.getPackageManager().getInstalledApplications(0);

		list.setAdapter(madapter);
		// getPackageManager().getInstalledPackages(0)
	}

	public class myAdapter extends BaseAdapter {

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return applist.size();
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return applist.get(position);
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(final int position, View convertView, ViewGroup parent) {
			TextView txt = null;
			if (convertView != null) {
				txt = (TextView) convertView.findViewById(R.id.appname);
				txt.setText(applist.get(position).loadLabel(
						TestActivity.this.getPackageManager()));
			} else {
				convertView = inflater.inflate(R.layout.item, null);
				txt = (TextView) convertView.findViewById(R.id.appname);
				// Log.v("Test",
				// "2 "+applist.get(position).loadLabel(TestActivity.this.getPackageManager()));
				txt.setText(applist.get(position).loadLabel(
						TestActivity.this.getPackageManager()));
			}
			Button btn = (Button) convertView.findViewById(R.id.btn);
			btn.setOnClickListener(new OnClickListener() {

				@Override
				public void onClick(View v) {
					Intent intent = getPackageManager()
							.getLaunchIntentForPackage(
									applist.get(position).packageName);
					TestActivity.this.startActivity(intent);
				}
			});
			return convertView;
		}
	}
}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics