`

获取手机安装程序的包列表

阅读更多
1.首先建立一个ListActivity:
  getPackageInfo.java
package cn.com;

import java.util.List;
import android.app.ListActivity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;

public class getPackageInfo extends ListActivity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		getInfo();
	}
	AppInstalledAdapter adapter;

	public void getInfo() {
		PackageManager pm = getPackageManager();
		final List<PackageInfo> appinstalled = pm
				.getInstalledPackages(PackageManager.GET_PERMISSIONS);
		
		adapter = new AppInstalledAdapter(this, appinstalled);
		
		setListAdapter(adapter);
		ListView lv = getListView();
		lv.setTextFilterEnabled(true);
		lv.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				PackageInfo p = appinstalled.get(position);
				String result = null;
				String[] packagePermissions = p.requestedPermissions;
				Log.d("AppList", p.packageName);
				if (packagePermissions != null) {
					for (int j = 0; j < packagePermissions.length; j++) {
						result = result + "\n" + packagePermissions[j];
					}

				}else {
					Log.d("AppList", p.packageName + ": no permissions");
				}
				Toast.makeText(getApplicationContext(), result,
						Toast.LENGTH_LONG).show();
			}
		});
	}
}

2.然后就是适配器类:
package cn.com;

import java.util.List;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class AppInstalledAdapter extends BaseAdapter {
	Context mContext;
	List<PackageInfo> appinstalled;

	public AppInstalledAdapter(Context context,
			final List<PackageInfo> appinstalled) {
		mContext = context;
		this.appinstalled = appinstalled;
	}

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

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

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

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		TextView sv;
		sv = new TextView(mContext);
		sv.setText(appinstalled.get(position).toString());

		return sv;
	}

}

分享到:
评论

相关推荐

    Android开发,获取当前手机安装的所有应用、根据包名获取应用信息、获取当前应用程序的包名、获取程序 图标等关于安装在手机上的

    Android开发,获取当前手机安装的所有应用、根据包名获取应用信息、获取当前应用程序的包名、获取程序 图标、获取程序的版本号、获取程序的名字、获取程序的权限、获取程序的签名、获取当前包名的 SHA1、将获取到得...

    Android获取手机安装APP列表

    在Android平台上,获取手机上已安装应用的列表是一项常见的任务,无论是为了数据分析、系统优化还是开发其他应用程序。这里我们将深入探讨如何实现这个功能,包括获取系统应用和第三方应用的列表。 首先,要获取...

    获取手机安装的所有应用列表

    在Android系统中,获取手机上安装的所有应用列表是一项常见的任务,尤其对于开发者来说,了解如何操作至关重要。在Android SDK中,`PackageManager`类是实现这一功能的关键。它提供了丰富的接口来管理设备上的应用...

    android 获取手机中所有安装程序的信息

    在Android开发中,获取手机中所有已安装应用的信息是一项常见的需求。这可以帮助我们构建各种功能,比如应用管理器、应用推荐系统或者个性化设置。在这个场景下,我们将详细讲解如何实现这个功能,包括如何获取应用...

    小程序获取信息 获取手机号的原文件

    1. **授权引导**:在小程序的页面中,开发者可以通过调用`wx.authorize` API来请求用户的授权,例如获取手机号。用户同意后,小程序会返回授权状态。 2. **获取Code**:当用户同意授权后,开发者可以通过调用`wx....

    获取已装应用程序apk的包名及SHA1码

    在Android系统中,开发者或用户有时需要获取已安装应用程序的包名(Package Name)和SHA1证书指纹(SHA1 Fingerprint)信息。这些信息在多种场景下非常有用,例如,当进行应用签名验证、集成第三方服务或者配置权限...

    微信小程序前端解密获取手机号

    1. 用户授权:当用户首次打开微信小程序时,系统会提示用户是否允许小程序获取手机号。用户同意后,微信会生成一个加密的手机号码并存储在本地。 2. 后端请求解密:开发者在前端触发一个API,如`wx.login()`,获取...

    列表获取手机所有应用包名

    在Android系统中,获取手机上所有应用的包名是一项常见的需求,这通常涉及到对设备上的应用程序进行管理和控制。本文将详细讲解如何通过编程的方式,利用Java语言和Android SDK来实现这个功能。 首先,我们需要理解...

    AppManager_Android获取手机里所安装的应用列表.rar

    在Android平台上,获取手机上已安装应用列表是开发者经常需要进行的操作,这有助于实现各种功能,比如应用管理、推荐关联应用或分析用户设备状态。本文将深入探讨如何使用AppManager来实现这一目标,并提供相关代码...

    anroid获取应用程序包信息

    在Android系统中,获取应用程序包信息是开发过程中常见的任务,这有助于我们了解设备上安装的应用程序的详细情况。本文将详细讲解如何通过编程方式获取Android应用程序的包信息,并结合提供的"Appinfo"示例进行解析...

    Android 获取手机所有apk包名

    在Android平台上,获取手机上所有APK包名的需求通常是用于分析设备上安装的应用程序信息,例如统计应用数量、分析特定应用是否存在或者进行批量操作。这个过程涉及到对Android系统的权限访问以及对文件系统的操作。...

    微信小程序获取手机号码解密算法PHP版本

    以上就是关于微信小程序获取手机号码解密算法PHP版本的基本知识,这个过程涉及到微信小程序的授权机制、数据加密解密原理以及PHP的加密函数使用。理解并掌握这个过程对于开发微信小程序的服务器端功能至关重要。

    获取手机已安装程序的名称图标信息

    在Android系统中,获取手机上已安装应用的名称和图标信息是常见的需求,这通常涉及到对设备上所有应用程序的遍历以及对应用元数据的访问。这个任务可以通过使用Android提供的`PackageManager`服务来实现。`...

    获取Android 手机上所有程序的包名

    在Android平台上,获取手机上所有程序的包名是一项常见的需求,比如用于应用管理、权限控制或者数据分析等场景。本文将详细解析如何通过编程方式实现这一功能,并基于Eclipse开发环境进行讲解。 首先,我们需要理解...

    PackageManager获取安装的应用列表

    在Android系统中,`PackageManager`是一个非常重要的服务组件,它负责管理手机上所有已安装的应用程序。通过`PackageManager`,开发者可以获取到设备上的应用信息,包括应用的名称、图标、权限、版本号等。本篇文章...

    微信小程序获取用户手机号详解

    最近在做一款微信小程序,需要获取用户手机号,具体步骤如下:流程图:1、首先,客户端调用wx.login,回调数据了包含js_code,用于获取openid(用户唯一标识)和sessionkey(会话密钥)。2、拿到js_code后,将其发送...

    如何获取别人微信小程序的源文件?

    因此,尽管无法直接从服务器获取源文件,但可以通过在用户设备上查找已下载的小程序包来间接获取。 针对安卓手机,获取微信小程序源文件的步骤如下: 1. **准备材料**: - 安装带有root权限的安卓模拟器,如夜神...

    获取微信小程序包.xmind

    通过QB调试 获取微信小程序包。需要准备:root 的手机;电脑安装:adb;最后得到 .wxapkg

    利用BundleTool从aab包获取apk安装大小以及安装apk到手机

    本篇文章将详细介绍如何利用`BundleTool`从AAB包获取APK的安装大小,并实现在手机上的安装步骤。 首先,我们需要理解AAB(Android App Bundle)与传统的APK的区别。AAB是一种新的发布格式,它允许Google Play Store...

    Java程序手机安装

    Java程序在手机上的安装主要涉及Java ME(Java Micro Edition)技术,这是Java平台的一个轻量级版本,专门设计用于资源有限的设备,如早期的智能手机和平板电脑。Java ME为移动设备提供了运行Java应用程序的能力,...

Global site tag (gtag.js) - Google Analytics