博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android-Launcher开发之ShortCut(1)
阅读量:4926 次
发布时间:2019-06-11

本文共 1913 字,大约阅读时间需要 6 分钟。

下面源代码来自Launcher2.3的样例

1.默认每一个应用的主Activity都会自带 <category android:name="android.intent.category.LAUNCHER" />,表示该应用安装到Launcher时点击打开该Activity

2.Launcher2源代码的时序图例如以下:(在图中,我们能够看到 创建shortcut须要准备2方面东西,一个action.,还有一个是我们检索后返回的intent)

2.1.当想在桌面手动创建shortcut,就必须在AndroidManifest.xml文件里加入一个<action />标签.

例如以下.我们创建一个ShortCutActivity用来处理shortcut的创建

2.2并在Activity中处理显示的shortCut样式的返回Intent

/** * 	@author Lean  @date:2014-8-25   */public class ShortCutActivity extends Activity{		@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		if (getIntent().getAction().equals(Intent.ACTION_CREATE_SHORTCUT)) {			Intent returnIntent=new Intent();			returnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(this,R.drawable.ic_launcher));			returnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"A simple shortCut");			returnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent(this,MainActivity.class));			setResult(RESULT_OK,returnIntent);			finish();		}	}	}

3.以上的shortcut仅仅能手动加入,假设想动态加入shortCut 就必须发送广播.Android Launcher2源代码提供了例如以下

这也表示,我们发送广播必须声明权限,还有指定<action />,于是 在我们的应用程序AndroidManifest.xml里 加入

同一时候在代码调用(同一时候,动态加入shortcut也必须指定其样式和操作意图)

Intent intent=new Intent();				intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");				intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,R.drawable.ic_launcher);				intent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"a auto sample");				intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent(MainActivity.this,MainActivity.class));				sendBroadcast(intent);

转载于:https://www.cnblogs.com/mfrbuaa/p/4319066.html

你可能感兴趣的文章
ES6 语法之import export
查看>>
网页上实现 Project 甘特图
查看>>
AttributeError: '_csv.reader' object has no attribute 'next'
查看>>
八大排序算法
查看>>
Meteor部
查看>>
WindowsPhone 在 根据公历 获取月球日期数据
查看>>
数字金额大小写转换
查看>>
【翻译mos文章】Linux x86 and x86-64 系统SHMMAX最大
查看>>
AWS Credentials 使用
查看>>
iOS 多线程,ARC
查看>>
Javascript小技巧,去掉小数位并且不会四舍五入
查看>>
指定初始化方法
查看>>
使用eclipse进行重构
查看>>
vs mfc 静态文本 改变字体大小
查看>>
Hidden Word
查看>>
radios组件
查看>>
Android客户端采用Http 协议Post方式请求与服务端进行数据交互
查看>>
《浙大版-数据结构(第二版)》习题2.5 两个有序链表序列的合并(15 分)<有疑问?变化之后 L1 L2没办法NULL >...
查看>>
Ubuntu18.04 安装Chrome浏览器
查看>>
Linux命令总结_文件的输入与 输出
查看>>