您当前位置:主页 > 程序开发 >
 
Android-Launcher开发之ShortCut(1)
日期:2019-02-01 编辑:918Õ

Android-Launcher开发之ShortCut(1)

以下源码来自Launcher2.3的例子

1.默认每个应用的主Activity都会自带 ,表示该应用安装到Launcher时点击打开该Activity

 

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


2.1.当想在桌面手动创建shortcut,就必须在AndroidManifest.xml文件中添加一个标签.

如下.我们创建一个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 AAAAAA shortCut);
			returnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent(this,MainActivity.class));
			setResult(RESULT_OK,returnIntent);
			finish();
		}
	}
	
}

 

3.以上的shortcut只能手动添加,如果想动态添加shortCut 就必须发送广播.Android Launcher2源码提供了如下

 

这也表示,我们发送广播必须声明权限,还有指定,于是 在我们的应用程序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);


 

 

 

 

 

http://www.bkjia.com/Androidjc/871995.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/871995.htmlTechArticleAndroid-Launcher开发之ShortCut(1) 以下源码来自Launcher2.3的例子 1.默认每个应用的主Activity都会自带 ,表示该应用安装到Launcher时点击打开该Activi...

本文源自: AG环亚娱乐

上一篇:android学习之--网格视图(GridView)和图像切换器(ImageSwitcher) 下一篇:没有了
 
Copyright © 2005-2016 http://www.tecsquared.com AG环亚娱乐_AG直营网_环亚娱乐AG最佳线路_腾讯体育版权所有 AG环亚娱乐_AG直营网_环亚娱乐AG最佳线路_腾讯体育