`

列出手机中所有的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;
		}
	}
}
 
分享到:
评论

相关推荐

    最经打开的app

    1. **多任务处理**:双击Home键(在无Home键的iPhone上,从屏幕底部向上滑动并暂停)会显示一个缩略图界面,列出了最近使用的应用程序。用户可直接轻触缩略图切换应用。 2. **捷径App**:苹果的“捷径”应用允许...

    hiyou产品App端需求文档v1.0(最终定稿).docx

    - 列出了各功能的开发级别、UI支持情况及预计开发时间,例如影片频道、影院频道、会员频道和设置频道。 5. **App端频道设定**: - **影片频道**:展示热映、在映和即将上映的影片,用户可以查看详细信息并在线...

    宜打印APP操作手册

    - 软件会自动搜索蓝牙打印机,并列出搜索结果。 - 选择对应的蓝牙打印机进行添加,通常无需输入配对密码。 - **打印机设置与删除**: - 点击打印机旁边的垃圾桶图标删除打印机。 - 点击垃圾桶旁的图标可以设置...

    qtouch手机app

    ### qtouch手机APP知识点解析 #### 一、应用概述与安装 **qtouch移动APP**是一款专注于电力监控领域的安卓应用程序,旨在为用户提供便捷高效的电力监控服务。用户可通过它实现对电力系统的远程监控与管理。 **安装...

    非开发人员如何使用命令行安装和卸载Android APP

    要卸载应用,使用`adb uninstall`命令,指定应用的包名(可以在应用的APK信息中查看或通过`adb shell pm list packages`命令列出所有已安装应用的包名): ``` adb uninstall com.example.yourapp ``` ### 其他常用...

    Google-Cardboard-App-Launcher:Launcher Cardboard App Launcher 是一款 Android 应用启动器,设计用于 Google Cardboard 虚拟现实头戴式显示器。 Cardboard App Launcher 旨在在用户将设备放入 Google Cardboard 查看器时替换常规启动器

    Google Cardboard 应用启动器 Cardboard App Launcher 是一款 ... Cardboard App Launcher 尝试仅显示与 Google Cardboard 兼容的应用程序,但如果无法列出特定应用程序,用户可以在设置菜单中选择它。 当用户退出

    hiyou产品App端需求文档

    - 详细列出各项功能的开发周期、预计完成时间等,便于资源调配和项目管理。 #### 五、hiyou-App端频道设定 - **影片频道**: - 功能描述:用户可通过此频道查看正在热映、在映以及即将上映的影片,并能进一步了解...

    68活动APP前台产品需求文档v1.1.doc

    此前台产品需求文档详细列出了应用的功能需求和设计规范,以确保产品的开发符合用户期望和业务目标。 1. 功能概述: 68活动APP的核心功能包括启动界面、登录系统、注册新用户、活动展示、活动搜索、活动报名、用户...

    安卓自动点击器,使用无障碍服务实现

    - `.gitignore` 文件列出版本控制应忽略的文件和目录。 - `build.gradle` 是项目的构建配置文件,定义依赖库和构建规则。 - `settings.gradle` 描述项目结构和包含的模块。 - `WindowDialog.iml` 是IDE的工作...

    2.1,GATT测试工具安卓手机nrf Connect说明1

    此时,界面会列出设备提供的所有服务,已连接的服务将以黑色字体显示。 若要断开连接,只需点击右上角的“DISCONNECT”按钮,它将变为“CONNECT”。此时,设备服务列表中的项目变为灰色,表示设备已断开连接。 在...

    mobiletrans_setup_full5794_windows_

    在确保两部设备通过USB连接并授权信任电脑后,软件会自动检测设备并列出可传输的数据类型。只需勾选所需内容,点击“开始传输”,数据迁移便开始进行。 2. 手机到电脑备份:连接手机至电脑,选择“备份到电脑”选项...

    6种常见电子书转换成TXT的软件

    说明:启动软件后,单击左上方的“Open folder”按钮,定位到包含UMD电子书的文件夹,此时会在左边的的“Files”窗口列出该文件夹内包含的所有UMD格式的电子书,点击一个UMD文件,左下方的“Chapters”窗口中即会...

    MAUI模板项目闪退问题.doc

    在VS中列出了设备信息后,直接启动项目,但应用程序直接闪退。 二、解决闪退问题 要解决闪退问题,需要查看详细的日志信息。在VS中没有错误输出信息,可以使用adb工具来查看详细的日志信息。首先,需要将adb目录...

    Python脚本利用adb进行手机控制的方法

    此命令列出所有已连接至计算机的Android设备。设备列表包括设备ID以及设备的状态信息(如在线、离线等)。 ##### 4. 指定虚拟设备运行 ```sh adb -s &lt;虚拟设备名称&gt; ``` 当有多个设备连接时,可以通过指定虚拟设备...

    菜鸟学安卓---02之虚拟运行环境搭建

    系统镜像通常会列出不同版本的安卓操作系统,包括各种API级别。选择一个适合你的开发需求的版本,通常推荐选择最新的稳定版本。 4. 在创建虚拟设备的过程中,你可以调整一些高级设置,例如内存大小(RAM)。合理的...

    Android 自带一键分享功能,不使用第三方

    如果要分享多种类型的数据,比如图片和文本,可以使用`Intent.createChooser()`来创建一个分享选择器,它会自动列出所有支持这些类型的分享应用。 ```java Intent shareIntent = new Intent(); shareIntent....

    手机广播室升级文件解压安装

    8. **权限管理**:安装过程中,系统会列出应用需要的权限,用户应仔细阅读并决定是否接受。 9. **安装后步骤**:安装完成后,用户可以在应用抽屉中找到新版本的手机广播室应用。首次启动时,可能会有更新提示或新...

    adb的简单常用操作命令

    使用`adb shell pm list packages`命令可以列出手机上安装的所有应用的包名。如果只想查看第三方应用(非系统应用),可以加上参数`-3`,即`adb shell pm list packages -3`。系统应用可以通过`-s`参数查看,即`adb...

    毕业论文安卓345网络购物平台app+server.doc

    数据字典详细列出所有数据项的属性和规则,而数据流图(DFD)则描绘了数据如何在系统内流动,从用户输入到数据库存储,再到后台处理和反馈给用户。 详细设计阶段,开发者会进一步细化界面布局、交互设计和后台逻辑...

Global site tag (gtag.js) - Google Analytics