主題................................................................................................................................................
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
<TextView
style="@style/mystyle" android:text="SIM卡變更" android:textColor="#00ff00" />
<TextView
style="@style/mystyle" android:text="GPS追蹤"/>
<TextView
style="@style/mystyle" android:text="遠(yuǎn)程銷毀數(shù)據(jù)"/>
<TextView
style="@style/mystyle" android:text="遠(yuǎn)程鎖屏"/>
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content" style="@android:style/TextAppearance.DeviceDefault" android:text="遠(yuǎn)程鎖屏"/>
/<LinearLayout>

所有應(yīng)用......................................................................................................................
public class MainActivity extends Activity { private ListView lv_main;//列表控件 private Listdata;//數(shù)據(jù)源,數(shù)據(jù)的結(jié)合 private AppAdapter adapter;//適配器 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv_main=(ListView) findViewById(R.id.lv_main); data=getAllAppInfos(); adapter = new AppAdapter(); //顯示列表 lv_main.setAdapter(adapter); //給listView設(shè)置Item的點(diǎn)擊監(jiān)聽 lv_main.setOnItemClickListener(new OnItemClickListener() { /*parent * view 當(dāng)前視圖行的Item視圖對(duì)象 * position 當(dāng)前行的下標(biāo) * @see android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget.AdapterView, android.view.View, int, long) */ @Override public void onItemClick(AdapterView?parent, View view, int position, long id) { // 顯示當(dāng)前行的應(yīng)用名稱 String appName = data.get(position).getAppName(); //提示 Toast.makeText(MainActivity.this, appName, Toast.LENGTH_SHORT).show(); } }); //給listview設(shè)置Item的長(zhǎng)按監(jiān)聽 lv_main.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView?parent, View view, int position, long id) { /** * 刪除當(dāng)前行 * 刪除當(dāng)前行的數(shù)據(jù) */ data.remove(position); //更新列表 // adapter.notifyDataSetChanged();//通知適配器更新列表,使用所有緩存的Item的視圖對(duì)象 return true; } }); } /* * 得到手機(jī)中所有應(yīng)用信息的列表 * AppInfo * Drawable icon 圖片對(duì)象 * String appName 應(yīng)用名稱 * String packageName */ protected ListgetAllAppInfos() { Listlist = new ArrayList(); // 得到應(yīng)用的packgeManager PackageManager packageManager = getPackageManager(); // 創(chuàng)建一個(gè)主界面的intent Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); // 得到包含應(yīng)用信息的列表 List ResolveInfos = packageManager.queryIntentActivities( intent, 0); // 遍歷 for (ResolveInfo ri : ResolveInfos) { // 得到包名 String packageName = ri.activityInfo.packageName; // 得到圖標(biāo) Drawable icon = ri.loadIcon(packageManager); // 得到應(yīng)用名稱 String appName?

手機(jī)衛(wèi)士.......................................................................................................................................
所有應(yīng)用public class MainActivity extends Activity { private ListView lv_main;//列表控件 private Listdata;//數(shù)據(jù)源,數(shù)據(jù)的結(jié)合 private AppAdapter adapter;//適配器 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv_main=(ListView) findViewById(R.id.lv_main); data=getAllAppInfos(); adapter = new AppAdapter(); //顯示列表 lv_main.setAdapter(adapter); //給listView設(shè)置Item的點(diǎn)擊監(jiān)聽 lv_main.setOnItemClickListener(new OnItemClickListener() { /*parent * view 當(dāng)前視圖行的Item視圖對(duì)象 * position 當(dāng)前行的下標(biāo) * @see android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget.AdapterView, android.view.View, int, long) */ @Override public void onItemClick(AdapterView?parent, View view, int position, long id) { // 顯示當(dāng)前行的應(yīng)用名稱 String appName = data.get(position).getAppName(); //提示 Toast.makeText(MainActivity.this, appName, Toast.LENGTH_SHORT).show(); } }); //給listview設(shè)置Item的長(zhǎng)按監(jiān)聽 lv_main.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView?parent, View view, int position, long id) { /** * 刪除當(dāng)前行 * 刪除當(dāng)前行的數(shù)據(jù) */ data.remove(position); //更新列表 // adapter.notifyDataSetChanged();//通知適配器更新列表,使用所有緩存的Item的視圖對(duì)象 return true; } }); } /* * 得到手機(jī)中所有應(yīng)用信息的列表 * AppInfo * Drawable icon 圖片對(duì)象 * String appName 應(yīng)用名稱 * String packageName */ protected ListgetAllAppInfos() { Listlist = new ArrayList(); // 得到應(yīng)用的packgeManager PackageManager packageManager = getPackageManager(); // 創(chuàng)建一個(gè)主界面的intent Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); // 得到包含應(yīng)用信息的列表 ListResolveInfos = packageManager.queryIntentActivities( intent, 0); // 遍歷 for (ResolveInfo ri : ResolveInfos) { // 得到包名 String packageName = ri.activityInfo.packageName; // 得到圖標(biāo) Drawable icon = ri.loadIcon(packageManager); // 得到應(yīng)用名稱 String appName = ri.loadLabel(packageManager).toString(); // 封裝應(yīng)用信息對(duì)象 AppInfo appInfo = new AppInfo(icon, appName, packageName); // 添加到list list.add(appInfo); } return list; } class AppAdapter extends BaseAdapter{ @Override public int getCount() { // TODO Auto-generated method stub return data.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return data.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } //返回帶數(shù)據(jù)當(dāng)前行的Item視圖對(duì)象 @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; // 如果convertView是null,加載Item的布局文件 if (convertView==null) { convertView = View.inflate(MainActivity.this, R.layout.item, null); holder = new ViewHolder(); //得到當(dāng)前行需要更新的子view對(duì)象 holder.imageView = (ImageView) convertView.findViewById(R.id.lv_item_icon); holder.textView = (TextView) convertView.findViewById(R.id.tv_item_name); convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } //得到當(dāng)前行數(shù)據(jù)對(duì)象 AppInfo appInfo =data.get(position); //給視圖綁定數(shù)據(jù) holder.imageView.setImageDrawable(appInfo.getIcon()); holder.textView.setText(appInfo.getAppName()); //返回convertView return convertView; } class ViewHolder{ ImageView imageView; TextView textView; } } }package com.example.app03_all;import android.graphics.drawable.Drawable;/** * 應(yīng)用信息的封裝類 * @author Administrator * */public class AppInfo { private Drawable icon; private String appName; private String packageName;//包名 public AppInfo() { super(); } public AppInfo(Drawable icon, String appName, String packageName) { super(); this.icon = icon; this.appName = appName; this.packageName = packageName; } public Drawable getIcon() { return icon; } public void setIcon(Drawable icon) { this.icon = icon; } public String getAppName() { return appName; } public void setAppName(String appName) { this.appName = appName; } public String getPackageName() { return packageName; } public void setPackageName(String packageName) { this.packageName = packageName; } } ?xml version="1.0" encoding="utf-8"?
<RelativeLayout
mlns:android="http://schemas.android.com/apk/res/android"????android:layout_width="match_parent"????android:layout_height="match_parent" > ??
<ImageView
android:id="@+id/lv_item_icon"???????android:layout_width="wrap_content"???????android:layout_height="wrap_content"?????? ?android:src="@drawable/ic_launcher"??????? />
<TextView
android:id="@+id/tv_item_name"???????android:layout_width="wrap_content"???????android:layout_height="wrap_content"??????????????android:layout_toRightOf="@+id/lv_item_icon"??????? android:text="應(yīng)用名稱"??????? android:textSize="20sp" />
</RelativeLayout>
