Android学习日记(yzy):显示application并调用
一:显示用的控件是listview 和 baseAdapter 。
二:利用intent-filter过滤,和packageManager调用所有应用。
三:调用指定包名ComponentName方法启动相应应用
MainActivy :
public class MainActivity extends Activity {private ListView listView; private List<ResolveInfo> mApps; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.layout_main); Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); mApps = getPackageManager().queryIntentActivities(intent, 0); listView = (ListView)findViewById(R.id.listView); listView.setAdapter(new MyAdapter(this,mApps)); itemClick(); }public void itemClick(){listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {ResolveInfo info = mApps.get(position); String packageName = info.activityInfo.packageName; String applicationName = info.activityInfo.name; ComponentName componentName = new ComponentName(packageName, applicationName); Intent intent = new Intent(); intent.setComponent(componentName); startActivity(intent); }}); }}
BaseAdapter:
public class MyAdapter extends BaseAdapter {List<ResolveInfo> apps; Context context; public MyAdapter(Context context , List<ResolveInfo> apps){super(); this.context = context; this.apps = apps; }public int getCount(){return apps.size(); }public Object getItem(int position){return apps.get(position); }public long getItemId(int position) {return position; }public View getView(int position , View contentView , ViewGroup parents){ViewHolder viewHolder ; if(contentView == null){viewHolder = new ViewHolder(); contentView = LayoutInflater.from(context).inflate(R.layout.view_listview_item,null); viewHolder.IV_img = (ImageView)contentView.findViewById(R.id.IV_img); viewHolder.TV_packageName = (TextView)contentView.findViewById(R.id.TV_packageName); viewHolder.TV_applciationName = (TextView)contentView.findViewById(R.id.TV_applciationName); contentView.setTag(viewHolder); }else {viewHolder = (ViewHolder) contentView.getTag(); }ResolveInfo appInfo = apps.get(position); viewHolder.IV_img.setBackground(appInfo.activityInfo.loadIcon(context.getPackageManager())); viewHolder.TV_applciationName.setText(appInfo.activityInfo.name); viewHolder.TV_packageName.setText(appInfo.activityInfo.packageName); return contentView; }static class ViewHolder{public ImageView IV_img; public TextView TV_packageName; public TextView TV_applciationName; } }
Android学习日记(yzy):显示application并调用相关推荐
- android学习日记 RecyclerView的简单使用
android学习日记 RecyclerView的简单使用 文章目录 android学习日记 RecyclerView的简单使用 一.如何使用RecyclerView? 二.使用步骤 1.首先在bui ...
- Android学习日记 Notification 通知
Android学习日记 Notification 通知 文章目录 Android学习日记 Notification 通知 前言 使用步骤 总结 前言 下拉状态栏显示的通知功能 使用步骤 代码如下: p ...
- 【转】android学习日记01--综述
转自:http://www.cnblogs.com/aiguozhe/p/3541941.html 一.总体框架 先上一张google提供官方的Android框架图: Android系统架构由5部分组 ...
- android学习日记一
这几天在公司实习,公司主要是做android项目,以前在学校也学习过android,但是就学了点皮毛,在这里我准备把自己当做android一无所知的人,但是java会点的人,来系统的学习一下andro ...
- android学习日记01--综述
开个博客,写点关于Android的知识,希望温故而知新吧! 一.总体框架 先上一张google提供官方的Android框架图: Android系统架构由5部分组成,分别是:Linux Kernel.A ...
- android学习日记:来电大头贴显示流程
来电呼入时的各种信息显示都是在CallCard.java中实现的,其中的updateDisplayForPerson是主角.updateDisplayForPerson会根据电话的当前状态来更改名字号 ...
- Android学习日记
2021.2.27 星期六 // TODO 2/27 // 标识符 字母数字下划线$组成 不能数字开头 区分大小写 // 关键字 // 变量 变量类型 变量名 驼峰法 变量值 // 类 Pascal ...
- 【Android学习日记】
(一) Android 开发基础 1 Android平台的特性 1) 应用程序框架支持组建的重用和替换,包括打电话应用程序.文件管理器等. 2) Dalvik虚拟机专门为移动设备做了优化,Dalv ...
- android学习日记15--WebView(网络视图)
一.WebView 1.简述 WebView(网络视图)内置WebKit引擎,能加载显示网页,还支持JS,并且能够在Android平台使用AJAX WebView可以在布局中声明,也可以在Activi ...
- 日记背景 android,android学习日记:4.0源生背景修改
经过整整一周的学习,总算实现了android中源生背景的修改.效果如下: 分别是修改前的原始界面.选择背景设置界面以及最后的效果图. 之前一直想用ScrollView来实现这个效果,后来发现用Gall ...
最新文章
- jquery中的each各种神奇遍历用法
- 基于VMwareWorkstation技术预览版2012上的WinServer8测试版安装
- vlan间访问控制的三种方法
- 数字图像处理——中值滤波及其改进算法
- html文档主体的根标签,2 HTML简介标签嵌套和并列关系文档声明
- python 图书馆管理程序下载_图书管理系统 免费开源代码 开发,分享 - CodeForge.cn...
- 结合django动态生成salt的pillar数据
- mysql优化20条原则
- linux ubuntu apache php 网站 'page not found'
- win10家庭版开启远程桌面(带rdpwrap.ini)
- WAV转MP3格式最简单的方法[zz]
- gis属性表怎么导成excel_ArcGIS中将属性表直接导出为Excel的方法
- gif软件(ShareX)
- MTK_android11_WIFI(内网)和4G(外网)共存
- 【制作fnt格式字体】 BMFont中文字体图集制作的方法~
- (Tiled官方文档翻译)第十节:使用无限地图(Tiled1.1)
- git 提交代码某个文件夹一直提交不上去
- mysql 增删修模型_48.Python中ORM模型实现mysql数据库基本的增删改查操作
- QDUOJ 生化危机 邻接表存图+BFS
- 安全加密 - HSM vs Trustzone vs SHE vs Evita ,