导航:首页 > 软件知识 > 怎么获得所有应用程序

怎么获得所有应用程序

发布时间:2023-05-15 12:16:23

① Android 怎么样获得应用信息

一、方法介绍:
每个Android应用程序都可以通过Context来获取与应用程序相关的目录,这些目录的功能各异,每一个目录都有自己的特点,有时候可能会搞混淆,本文结合android源码注释和实际操作,详细介绍一下每个方法:
方法:getFilesDir
释义:返回通过Context.openFileOutput()创建和存储的文件系统的绝对路径,应用程序文件,这些文件会在程序被卸载的时候全部删掉。

方法:getCacheDir
释义:返回应用程序指定的缓存目录,这些文件在设备内存不足时会优先被删除掉,所以存放在这里的文件是没有任何保障的,可能会随时丢掉。

方法:getDir
释义:这是一个可以存放你自己应用程序自定义的文件,你可以通过该方法返回的File实例来创建或者访问这个目录,注意该目录下的文件只有你自己的程序可以访问。

方法:getExternalCacheDir
释义:使用这个方法需要写外部存储的权限“<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />”,调用该方法会返回应用程序的外部文件系统(Environment.getExternalStorageDirectory())目录的绝对路径,它是用来存放应用的缓存文件,它和getCacheDir目录一样,目录下的文件都会在程序被卸载的时候被清除掉。

方法:getExternalFilesDir
释义:使用这个方法需要写外部存储的权限“<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />”,这个目录是与应用程序相关的外部文件系统,它和getExternalCacheDir不一样的是只要应用程序存在它就会一直存在,这些文件只属于你的应用,不能被其它人访问。同样,这个目录下的文件在程序被卸载时也会被一同删除。

方法:getExternalFilesDir
释义:和上面的方法一样,只是返回的是其目录下某一类型的文件,这些类型可以是: Environment#DIRECTORY_MUSIC 音乐 Environment#DIRECTORY_PODCASTS 音频 Environment#DIRECTORY_RINGTONES 铃声 Environment#DIRECTORY_ALARMS 闹铃 Environment#DIRECTORY_NOTIFICATIONS 通知铃声 Environment#DIRECTORY_PICTURES 图片 Environment#DIRECTORY_MOVIES 视频

方法:getDatabasePath
释义:保存通过Context.openOrCreateDatabase 创建的数据库文件

方法:getPackageCodePath
释义:返回android 安装包的完整路径,这个包是一个zip的压缩文件,它包括应用程序的代码和assets文件。

方法:getPackageResourcePath
释义:返回android 安装包的完整路径,这个包是一个ZIP的要锁文件,它包括应用程序的私有资源。

方法:getObbDir
释义:返回应用程序的OBB文件目录(如果有的话),注意如果该应用程序没有任何OBB文件,这个目录是不存在的。

二、测试程序:
测试代码如下:
private StringBuilder getFilePath( ){
StringBuilder filePathBuilder = new StringBuilder( );

// 返回通过Context.openFileOutput()创建和存储的文件系统的绝对路径,应用程序文件,这些文件会在程序被卸载的时候全部删掉。
filePathBuilder.append( "getFilesDir == " ).append( getFilesDir( ) ).append( "\n" );
// 返回应用程序指定的缓存目录,这些文件在设备内存不足时会优先被删除掉,所以存放在这里的文件是没有任何保障的,可能会随时丢掉。
filePathBuilder.append( "getCacheDir == " ).append( getCacheDir( ) ).append( "\n" );
// 这是一个可以存放你自己应用程序自定义的文件,你可以通过该方法返回的File实例来创建或者访问这个目录,注意该目录下的文件只有你自己的程序可以访问。
filePathBuilder.append( "getDir == " ).append( getDir("test.txt", Context.MODE_WORLD_WRITEABLE) ).append( "\n" );

/* 需要写文件权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> */
// 调用该方法会返回应用程序的外部文件系统(Environment.getExternalStorageDirectory())目录的绝对路径,它是用来存放应用的缓存文件,它和getCacheDir目录一样,目录下的文件都会在程序被卸载的时候被清除掉。
filePathBuilder.append( "getExternalCacheDir == " ).append( getExternalCacheDir( ) ).append( "\n" );
// 这个目录是与应用程序相关的外部文件系统,它和getExternalCacheDir不一样的是只要应用程序存在它就会一直存在,这些文件只属于你的应用,不能被其它人访问。同样,这个目录下的文件在程序被卸载时也会被一同删除。
filePathBuilder.append( "getExternalFilesDir == " ).append( getExternalFilesDir( "/" ) ).append( "\n" );

/**
* 和上面的方法一样,只是返回的是其目录下某一类型的文件,这些类型可以是:
* Environment#DIRECTORY_MUSIC 音乐
* Environment#DIRECTORY_PODCASTS 音频
* Environment#DIRECTORY_RINGTONES 铃声
* Environment#DIRECTORY_ALARMS 闹铃
* Environment#DIRECTORY_NOTIFICATIONS 通知铃声
* Environment#DIRECTORY_PICTURES 图片
* Environment#DIRECTORY_MOVIES 视频
*
* */
filePathBuilder.append( "getExternalFilesDir == " ).append( getExternalFilesDir( Environment.DIRECTORY_PICTURES ) ).append( "\n" );

// 保存通过Context.openOrCreateDatabase 创建的数据库文件
filePathBuilder.append( "getDatabasePath == " ).append( getDatabasePath( DATA_BASE_NAME ) ).append( "\n" );
// 返回android 安装包的完整路径,这个包是一个zip的压缩文件,它包括应用程序的代码和assets文件
filePathBuilder.append( "getPackageCodePath == " ).append( getPackageCodePath( ) ).append( "\n" );
// 返回android 安装包的完整路径,这个包是一个ZIP的要锁文件,它包括应用程序的私有资源。
filePathBuilder.append( "getPackageResourcePath == " ).append( getPackageResourcePath( ) ).append( "\n" );
// 返回应用程序的OBB文件目录(如果有的话),注意如果该应用程序没有任何OBB文件,这个目录是不存在的。
filePathBuilder.append( "getObbDir == " ).append( getObbDir( ) ).append( "\n" );

return filePathBuilder;
}

② 获得所有应用程序信息&判断是否系统程序

程序大概分成三个部分:
1.获取手机已安装的所有应用package的信息(其中包括用户自己安装的,还有系统自带的);
2.滤除系统自带应用;
3.通过列表显示出应用程序的图标(icon),和其他文字信息(应用名称,包名称package name,版本号等等)
首先,我们定义一个数据结构,来保存应用程序信息(icon,name,packageName,versionName,versionCode,等)

下面我们就来看看代码吧,这样我们大家看的风直观一些:

java代码:
public class AppInfo {
public String appName="";
public String packageName="";
public String versionName="";
public int versionCode=0;
public Drawable appIcon=null;
public void print(){
Log.v("app","Name:"+appName+" Package:"+packageName);
Log.v("app","Name:"+appName+" versionName:"+versionName);
Log.v("app","Name:"+appName+" versionCode:"+versionCode);
}
}

然后我们通过PackageManager 来获取已安装的应用包信息。

java代码:
ArrayList appList = new ArrayList(); //用来存储获取的应用信息数据List packages = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packages.size();i++) {
PackageInfo packageInfo = packages.get(i);
AppInfo tmpInfo = new AppInfo();
tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
tmpInfo.packageName = packageInfo.packageName;
tmpInfo.versionName = packageInfo.versionName;
tmpInfo.versionCode = packageInfo.versionCode;
tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());
appList.add(tmpInfo);
}//好啦 这下手机上安装的应用数据都存在appList里了。

那么如何判断一个应用是否为系统应用呢?

java代码:
if((packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0){
//非系统应用
}else{
//系统应用
}

所以如果只需要获取到非系统应用信息,代码如下:

java代码:
ArrayList appList = new ArrayList(); //用来存储获取的应用信息数据
List packages = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packages.size();i++) {
PackageInfo packageInfo = packages.get(i);
AppInfo tmpInfo = new AppInfo();
tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
tmpInfo.packageName = packageInfo.packageName;
tmpInfo.versionName = packageInfo.versionName;
tmpInfo.versionCode = packageInfo.versionCode;
tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());
if((packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0){
appList.add(tmpInfo);//如果非系统应用,则添加至appList
}
}

③ Android 怎么获取所有正在运行的应用程序

在framework中想添加这个功能,所以写了个appliction来实现一下获取正在运行的应用程序: 还是先看图吧: 这个app主要是简单的实现了获取非系统的应用程序和一些常用的系统应用程序,显示在一个listview中,并添加了点击(回复到你打开的界面)和长按事件(关闭应用程序)。 看看代码吧: 直接贴出来再加上注释吧(直接写在一个文件里并数): package andorid/apk/res/android" android:layout_width="fill_parent"兄蔽斗 android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="40dip" android:layout_height="40dip" /> <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" /> <TextView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout> main: <?xml version="1/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/list_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" ></ListView> </LinearLayout> 在manifest文件中要加以个权限: <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 主要是前面的am.killBackgroundProcesses(packageName);方法要这个权羡磨限。

④ vb如何获取任务管理器中应用程序列表

  1. Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。

  2. 从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。

  3. 源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。

  4. 一个command 一个list。 list中第一个任务管理器,与最后一个Program Manager 过滤不掉 。

  5. 如果想过滤的话 可以在窗体中添加一个判断,来移除。

  6. 这是获取程序

    Process[] ps=Process.GetProcesses();

    foreach (Process p in ps)

    {

    if (p.MainWindowHandle != null)

    {

    richTextBox1.Text += p.MainWindowTitle + "";

    }

    }

  7. #region 查找所有应用程序标题 private const int GW_HWNDFIRST = 0;

    private const int GW_HWNDNEXT = 2;

    private const int GWL_STYLE = (-16);

    private const int WS_VISIBLE = 268435456;

    private const int WS_BORDER = 8388608;

    #region AIP声明

    [DllImport("IpHlpApi.dll")]

    extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder);

    [DllImport("User32")]

    private extern static int GetWindow(int hWnd, int wCmd);

    [DllImport("User32")]

    private extern static int GetWindowLongA(int hWnd, int wIndx);

    [DllImport("user32.dll")]

    private static extern bool GetWindowText(int hWnd, StringBuilder title, int maxBufSize);

    [DllImport("user32", CharSet = CharSet.Auto)]

    private extern static int GetWindowTextLength(IntPtr hWnd);

    #endregion

    /// <summary>

    /// 查找所有应用程序标题

    /// </summary>

    /// <returns>应用程序标题范型</returns>

    public static List<string> FindAllApps(int Handle)

    {

    List<string> Apps = new List<string>();

    int hwCurr;

    hwCurr = GetWindow(Handle, GW_HWNDFIRST);

    while (hwCurr > 0)

    {

    int IsTask = (WS_VISIBLE | WS_BORDER);

    int lngStyle = GetWindowLongA(hwCurr, GWL_STYLE);

    bool TaskWindow = ((lngStyle & IsTask) == IsTask);

    if (TaskWindow)

    {

    int length = GetWindowTextLength(new IntPtr(hwCurr));

    StringBuilder sb = new StringBuilder(2 * length + 1);

    GetWindowText(hwCurr, sb, sb.Capacity);

    string strTitle = sb.ToString();

    if (!string.IsNullOrEmpty(strTitle))

    {

    Apps.Add(strTitle);

    }

    }

    hwCurr = GetWindow(hwCurr, GW_HWNDNEXT);

    }

    return Apps;

    }

    #endregion

    调用

    private void btReApp_Click(object sender, EventArgs e)

    {

    LvApp.Items.Clear();

    List<string> Apps = SystemInfo.FindAllApps((int)this.Handle);

    foreach (string app in Apps)

    {

    ListViewItem item = new ListViewItem(app);

    LvApp.Items.Add(item);

    }

    }

⑤ labview怎么获取应用程序目录读取路径

函数获取。
1、打开LabVIEW项目,右键单击顶部的项目文件夹,选择New>Folder创建一个新文件夹。
2、将该文件夹命名为SupportFiles,这是默认的应用程序目录滚陵简名称。
3、将所有需要在程序中使用的资源文件放入汪陪这个文件夹中。
4、打开BlockDiagram(块图),在FunctionPalette(功能大裤面板)中搜索应用程序目录并将该函数拖至BlockDiagram中。
5、连接打开应用程序目录函数的输出到文件夹路径的输入端口。
6、使用该路径获取各种资源,并在程序中使用它们。

⑥ 如何查看Win10系统自带应用程序

详细的解决方式如下:
第一,打开系统中的开始菜单,选中其中的“所有应用”,单击进入;
第二,找到W字母开头的区域,也就是Windows区域,这里保存着Win7系统中固有的程序;第三,找到Windows附件,点击后进入,我们就能在此获得常见的IE浏览器、扫描程序与传真等多种应用程序了,windows附件下的windows系统也有更多的常用应用程序。在以下区域还能找到windows的管理工具,比如系统配置、打印管理等等。
我们还可以通过Win10系统自带的程序搜索功能,更精准地找到大家需要的应用程序,我们也可以将常用的程序选择固定在桌面下方的任务栏中,右击“控制面板”,选择“固定到任务栏”中即可,下次使用时我们就可以更便捷了。
以上就是在Windows10系统查找自带应用程序的方法了,需要的用户可以按照以上方法操作哦。

⑦ 如何获取手机上的已安装的所有应用

安卓手机出厂设置所有的应用程序都是安装到手机自身内存而不是内存卡。一般的情况下联系你安装一个豌豆荚或者工具箱,这些应用都可以帮你把手机内存上的程序转移安装到内存卡上,如果上述方法不可行的话那你只能刷机root手机,从而获取权限,不过如果是行货手或氏基机不建议这核尺样做,这样会导致手机没有保衫谨修。

阅读全文

与怎么获得所有应用程序相关的资料

热点内容
花溪牛马交易在哪里 浏览:613
企业信息主管职责有哪些 浏览:339
代理手机一般在什么地方进货 浏览:378
黄金代理黄金加盟费多少钱 浏览:751
快递物流多久没信息可以投诉 浏览:646
女孩说还要等多久回信息 浏览:15
小游戏有哪些产品 浏览:321
不到30岁学什么技术好 浏览:346
招标代理公司如何办理执照 浏览:9
二手摩托交易平台哪个靠谱 浏览:80
美国通用的技术有哪些 浏览:37
女孩子学什么技术好找工作 浏览:800
购房中的技术问题有哪些 浏览:544
数据传输过量什么意思 浏览:382
农产品上行做什么工作 浏览:532
隆回县新木材市场在哪里 浏览:310
连江哪里有字画鉴定交易 浏览:694
电动伸缩门调试程序多少钱 浏览:445
市场主体如何做到自律 浏览:355
想做五菱代理怎么做 浏览:492