从网上搜到的线索:
下面的代码利用Intent.CATEGORY_LAUNCHER,可以取得表示在Launcher中的所有App信息
可是如何取得正在运行状态的App信息呢?在intent里面没找到对应的定义。
希望高手指教,谢谢
-
1: PackageManager manager=getPackageManager();
2: Intent intent=new Intent(Intent.ACTION_MAIN,null);
3:
4: //在Launcher中的所有App信息--》 apps
5: intent.addCategory(Intent.CATEGORY_LAUNCHER);
6: List<ResolveInfo> apps=manager.queryIntentActivities(intent,0);
7: Collections.sort(apps,new ResolveInfo.DisplayNameComparator(manager));
2.关于开机运行的程序的获得:
线索:
getPackageManager().queryIntent***()可以指定Intent查循所有的Activity,其他组件类似!
-
- 思考:要想让一个Activity或BroadcastReceiver在开机时启动运行,要在项目的Androidmanifest.xml中的<intent-filter>中写上<action android:name = “android.intent.action.BOOT_COMPLETED”>
所以要可以这样处理来获得开机运行的程序:
1: public List fetch_installed_apps() {
2: PackageManager packageManager = getPackageManager();
3:
4: Intent intent = new Intent(Intent.ACTION_BOOT_COMPLETED,null);//开机启动的intent
5: List<ResolveInfo> appsList = packageManager.queryIntentActivities(intent, 0);//搜索开机启动的intent的Activity
6: // List<ResolveInfo> appsList = packageManager.queryBroadcastReceivers(intent, 0);//搜索开机启动的intent的BroadcastReceivers
7: list = new ArrayList<Map<String, Object>>(appsList.size());
8: Log.d("TAG", appsList.size()+"");
9: Iterator<ResolveInfo> l = appsList.iterator();
10:
11: while (l.hasNext()) {
12: Map<String, Object> map = new HashMap<String, Object>();
13: ResolveInfo app = (ResolveInfo) l.next();
14: String packageName = app.activityInfo.packageName;// 包名
15: String appDir = app.activityInfo.labelRes+"";// 程序的路径
16: File appFile = new File(appDir);// 由路径创建一个File
17: String fileSize = appFile.length() + "";// 当前程序的大小
18: String label = "";
19: try {
20: // label = getPackageManager().getApplicationLabel(app).toString();// Label
21: // PackageInfo pInfo = getPackageManager().getPackageInfo(
22: // packageName, MODE_APPEND);
23: // versioncode =pInfo.versionCode+"";//版本号
24: // versionName = pInfo.versionName + "";// 版本名
25: } catch (Exception e) {
26: Log.i("Exception", e.toString());
27: }
28: map = new HashMap<String, Object>();
29: map.put("name", packageName);
30: map.put("desc", appDir);
31: // map.put("img", getPackageManager().getActivityIcon(g));
32: list.add(map);
33: }
34: return list;
35: }
分享到:
相关推荐
在Android平台上,与远程服务进行交互是开发过程中常见的需求,其中一种常见的技术就是通过Web Service。Web Service是一种基于网络的、分布式的应用程序组件,能够使不同的系统之间进行数据交换。在Android中,...
在Android开发过程中,构建系统是项目管理的核心部分。随着Android Gradle Plugin的更新,从旧的`Android.mk`文件(Makefile系统)过渡到新的`Android.bp`文件( Blueprint语言)已经成为趋势。`Android.bp`提供了...
android的开发移动端MQTT服务器所需要的依赖包文件。这个是paho的1.1.1版本的,可下载到本地使用。
Android Studio作为谷歌官方推荐的Android应用程序开发集成开发环境(IDE),一直以来都是开发者的重要工具。本篇文章将详细解析“android-studio-2021.3.1.17-windows.exe”这一版本的Android Studio,主要面向...
使用方式:把资源放到libs下,在gradle app 中添加 低版本:compile files('libs/android-extend-1.0.6.aar') 高版本:implementation files('libs/android-extend-1.0.6.aar')
【程序员表白程序 源码开放性 第一辑 不断更新(程序之爱系列第一辑)】 这个项目是一个程序员为了表达爱意而创作的独特程序,它不仅展现了编程技术的运用,还融合了情感的传递。程序员们常常以其独特的思维方式和...
下面是关于Android SDK的一些关键知识点: 1. **SDK Manager**: "installer_r24.3.2-windows.exe" 文件是SDK Manager的安装程序,它允许开发者下载和管理所需的Android平台版本、工具、库和其他服务。通过SDK ...
3. **设计工具**:Android Studio的布局编辑器、预览功能、动画编辑等设计工具可能会有重大更新,提升UI/UX设计的效率。 4. **性能优化**:Canary版本会持续关注性能问题,可能包括更快的启动时间、更好的内存管理...
在本文中,我们将深入探讨iPerf的基本功能、工作原理、使用方法,特别是针对Android系统的iperf3版本。 一、iPerf概述 iPerf最初是由Steve Lewis在2000年开发的,主要服务于Linux系统。随着时间的推移,它已经发展...
android的开发移动端MQTT服务器所需要的依赖包文件。可下载到本地使用。
Android中的`WebView`是核心组件,它允许我们在应用程序内部展示网页内容。`WebView`继承自`View`,因此可以像其他视图一样添加到布局文件中。我们可以通过XML布局文件或代码动态创建和设置`WebView`。 2. **加载...
Android 空页面|错误页面|加载中页面处理,支持所有的布局,使用简单方便 Screenshots EmptyLayout使用 1.打开 Project root 的 build.gradle allprojects { repositories { ... maven { url ...
aar是Android Archive的缩写,它是Android Studio中用于分发和集成Android库的标准格式。因此,提供这个zip文件是为了方便开发者能直接将这个库导入到他们的项目中,避免了因无法下载aar文件而造成的开发阻碍。 ...
Android Studio Bumblebee Beta 4(android-studio-2021.1.1.17-windows.zip) 大黄蜂,只适用于Windows系统,是Android Studio 4.3(Arctic Fox 2020.3.1.25新版本命名)版本之后的新版本Android Studio Bumblebee ...
首先,`gradlew.bat`和`gradlew`是Gradle构建系统的批处理脚本和Unix shell脚本,分别用于Windows和Unix-like操作系统,用于自动化构建Android应用程序。 `build.gradle`文件是项目级别的构建配置,其中会声明项目...
androidx activity-1.2.3版本资源包
2. **OpenGL ES**:Android支持OpenGL ES(Embedded Systems)图形库,这是一个基于OpenGL标准的轻量级版本,专门针对嵌入式设备如智能手机和平板电脑设计。开发者可以使用OpenGL ES进行3D图形编程,创建复杂的游戏...
AlphaBankUI-Android 查看针对银行应用程序的App Design的新样式... :winking_face: :grinning_face: :beaming_face_with_smiling_eyes: :smiling_face_with_sunglasses: 屏幕截图 请点击下面的图片放大。 ##贡献...
在本压缩包“Android个人记账程序源码.zip”中,包含的是一个针对安卓平台(Android)开发的个人记账应用程序的源代码。这个程序旨在帮助用户管理他们的日常财务,记录收入与支出,以便更好地控制自己的资金流动。...
maven编译时报找不到这两个jar文件,发现已经无法从网站下载了,所以自己在网上找到这两个文件下载,分真贵呀,所以现在便宜分享,2个文件只要一分 ...of type legacy using the available factories ...