Launcher的简单介绍
来源:互联网 发布:淘宝企业店铺缴税 编辑:程序博客网 时间:2024/06/16 00:37
Launcher
什么是Launcher?
Launcher是安卓系统中的桌面启动器,安卓系统的桌面UI统称为Launcher,Launcher的启动实际上就是启动一个Activity(Launcher.java)。
当我们点击手机的home键时,实际上就是启动桌面管理器,会启动LaunCher.java Activity。
我们也可以将自己的应用程序中的Activity作为Launcher,只要在我们的Activity注册时,在意图过滤器中添加category:android:name="android.intent.category.HOME"和android:name="android.intent.category.DEFAULT",这样当我们点击home键时会弹窗让我们选择开启那个Lanuncher。
清单文件
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
<categoryandroid:name="android.intent.category.HOME"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
//查询所有的应用程序并显示 ResolveInfo的使用和获取所有安装程序列表的实现
Activity:
publicclass ShowDevelopments extends Activity {
private GridView show_developments;
private List<ResolveInfo> info;
@Override
protected void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_developments);
show_developments=(GridView)findViewById(R.id.show_developments);
info=newArrayList<ResolveInfo>();
getData();
MyAdapter adapter=newMyAdapter(info);
show_developments.setAdapter(adapter);
show_developments.setOnItemClickListener(newAdapterView.OnItemClickListener() {
@Override
public voidonItemClick(AdapterView<?> parent, View view,
intposition, long id) {
start(position);
}
});
}
/**
* 界面跳转的方法:ComponentName的使用
*/
private void start(int i){
ResolveInfoinfo = this.info.get(i);
//该应用的包名
String pkg =info.activityInfo.packageName;
//应用的主activity类
String cls =info.activityInfo.name;
ComponentName componet = newComponentName(pkg, cls);
Intent intent = new Intent();
intent.setComponent(componet);
startActivity(intent);
}
/**
* 获取所有的安装的应用程序
*/
private void getData(){
IntentmainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
// new ImageView(ShowDevelopments.this);
info = getPackageManager().queryIntentActivities(mainIntent, 0);
}
private class MyAdapter extendsBaseAdapter{
privateList<ResolveInfo> info;
private LayoutInflaterinflater;
privateMyAdapter(List<ResolveInfo> info){
this.info=info;
inflater=getLayoutInflater();
}
@Override
public int getCount() {
returninfo!=null?info.size():0;
}
@Override
public Object getItem(intposition) {
returninfo.get(position);
}
@Override
public long getItemId(intposition) {
return position;
}
@Override
public View getView(intposition, View convertView, ViewGroup parent) {
View[] view=newView[2];
if(convertView==null){
convertView=inflater.inflate(R.layout.item_showdata,null);
view[0]=convertView.findViewById(R.id.show_image);
view[1]=convertView.findViewById(R.id.chengxu);
convertView.setTag(view);
}
view=(View[])convertView.getTag();
((TextView)view[1]).setText(info.get(position).loadLabel(getPackageManager()));
((ImageView)view[0]).setImageDrawable((info.get(position).loadIcon(getPackageManager())));
return convertView;
}
}
}
- Launcher的简单介绍
- Android中的简单的launcher介绍
- 简单的Launcher
- Launcher的简单实现,
- Launcher的简单讲解一
- Launcher的简单讲解二
- Launcher介绍
- GridView实现简单的应用启动器Launcher
- Android实现简单Launcher的代码示例
- Android launcher应用的简单实现
- 定制你自己的android手机桌面Launcher===一个完成Launcher开发的介绍
- android中的launcher介绍
- Launcher介绍总结
- Launcher介绍总结
- Android launcher开发介绍
- Android原生Launcher的简要介绍及学习计划
- Android Launcher开发(四)Launcher概述及简单添加和删除应用程序的快捷方式
- Android Launcher开发(四)Launcher概述及简单添加和删除应用程序的快捷方式
- 算法复杂度
- socket C编程设置接收超时(Windows & Linux)
- jdk+tomcat+myeclipse+spring开发环境配置小记
- 人生规划的事项
- 用jQuery对checkbox操作:获得所有选中的checkbox对象并过滤
- Launcher的简单介绍
- swift 关于 UI Testing 简单笔记
- python类2继承-抽象-多态
- Unity 编辑器下控制播放粒子
- Calculate the number of UTF8 characters
- NHK的未来压缩标准H.266新提案
- redis 过期键的清除
- cf#369-C. Coloring Trees-三维dp
- java 多线程详解一 多线程的简单使用