1.应用自身启动时创建快捷方式
当我们在模拟器或手机上屏幕上长按屏幕会弹出选择框,询问是否添加快捷方式等操作:当我们选择ShortCut后,就会出现一个ListView列出所有可以添加的items:
下面通过手动建立一个程序,添加了intentFilter为android.intent.action.CREATE_SHORTCUT的intent,这样当选择了它后,就会在桌面生成一个自定义需要这个activity去做一件事情的快捷图标:
处理点击快捷图标后执行的代码块Shortcut.java
Intent addShortcut;
//获取启动这个activity的intent的action
if (getIntent().getAction().equals(Intent.ACTION_CREATE_SHORTCUT)) {
addShortcut = new Intent();
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "110");
Parcelable icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
//初始化快捷方式图标
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,icon);
Intent callPolice = new Intent(Intent.ACTION_CALL, Uri
.parse("tel://110"));
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, callPolice);
setResult(RESULT_OK, addShortcut);
} else {
setResult(RESULT_CANCELED);
}
finish();
第二个主要的是配置文件AndroidMenifest.xml文件
<activity android:name=".Shortcut">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" /> </intent-filter>
这样当手长按时弹出的快捷方式中,点击该应用时发送一个这样的Intent,其ACTION为android.intent.action.CREATE_SHORTCUT,就会在桌面建立一个拨打110的快捷方式。
2.发送广播方式让Launcher创建快捷方式
主要是通过一个按钮点击事件广播一个intent给所有可能接收到的Receivers来响应,
public void shortcutCreate() {
Intent intent = new Intent(ACTION_ADD_SHORTCUT);
Intent dial = new Intent(Intent.ACTION_CALL);
dial.setData(Uri.parse("tel://110"));
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "dial to 110");
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, dial);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(this, R.drawable.jing));
sendBroadcast(intent);
}
2.配置文件AndroidMenifest.xml文件
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
三、判断是否已经创建了快捷方式
private boolean hasShortcut()
{
boolean isInstallShortcut = false;
final ContentResolver cr = mapViewActivity.getContentResolver();
final String AUTHORITY ="com.android.launcher.settings";
final Uri CONTENT_URI = Uri.parse("content://" +AUTHORITY + "/favorites?notify=true");
Cursor c = cr.query(CONTENT_URI,new String[] {"title","iconResource" },"title=?",
new String[] {mapViewActivity.getString(R.string.app_name).trim()}, null);
if(c!=null && c.getCount()>0){
isInstallShortcut = true ;
}
return isInstallShortcut ;
}
分享到:
相关推荐
ios添加快捷方式到桌面 添加一个应用类的功能到主屏幕,点击快捷方式跳转到APP指定功能
类似QQ添加桌面快捷方式联系人,也可以自定义桌面图标,新手值得看看
要实现将应用程序直接添加到桌面, 可以通过广播的方式实现, 注意 ,直接添加到桌面需要声明找开安装权限
WINCE 下第三方软件添加进系统及桌面快捷方式重启不消失定制可以通过两种方法来实现,即修改 common.reg 文件和在 project.dat 文件中添加快捷方式。这样,可以满足不同的应用需求,并且解决桌面文件在重启后消失的...
生成网页快捷方式保存到桌面上,便于用户访问
VB编程源代码 68添加URL快捷方式到收藏夹、开始菜单和桌面上VB编程源代码 68添加URL快捷方式到收藏夹、开始菜单和桌面上VB编程源代码 68添加URL快捷方式到收藏夹、开始菜单和桌面上VB编程源代码 68添加URL快捷方式到...
纯JS代码创建桌面网址快捷方式,web开发人员应该经常用到!
Android判断是否获取到桌面快捷方式权限
可以实现为手机上的某个应用添加桌面快捷方式、移除某个应用到快捷方式 如有问题,请浏览我的博客:http://blog.csdn.net/u011268102/article/details/9335971
客户端打开APP -> 进入到对应到APP功能模块 -> 点击添加快捷方式到桌面按钮 -> 跳转浏览器,并加载引导页面,点击分享,选择添加到主屏幕 -> 从主屏幕点击刚刚添加到快捷功能,跳转到APP的对应界面。 根据笔者了解到...
学习一些初学代码吧,对新手友好,Vb将程序快捷方式添加到收藏夹,添加URL快捷方式到桌面上,添加URL快捷方式到开始菜单。 程序根据根据指定的文件夹获得pidl,设置URL地址,获得StartMenu的文件夹位置,设置新...
c++实现添加菜单,桌面快捷方式 c++实现添加菜单,桌面快捷方式
c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹
android系统判断快捷方式是否存在、添加删除快捷方式
NULL 博文链接:https://appleses.iteye.com/blog/1605840
桌面显示的文件,帮助在快速启动栏添加桌面显示的快捷方式
android向桌面添加快捷方式的源代码,将解可以看我的博客哈。
Linux下给Spyder创建桌面快捷方式.docx