Android中为你的应用程序添加桌面快捷方式
public void ShortCut(View view){ createDeskShortCut(this,getString(R.string.short_cut),R.drawable.ups_icon,"http://www.baidu.com"); createDeskShortCut(this,getString(R.string.short_cut2),R.drawable.ups_icont,"http://image.baidu.com/"); Toast.makeText(this, "创建完成", 1).show(); } /** * 创建快捷方式 */ public void createDeskShortCut(Context context,String name,int iconRes,String url) { Log.i("Javen","------createShortCut--------"); //创建快捷方式的Intent Intent shortcutIntent = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); //不允许重复创建 shortcutIntent.putExtra("duplicate",false); //需要现实的名称 shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name); //快捷图片 Parcelable icon = Intent.ShortcutIconResource.fromContext( getApplicationContext(),iconRes); shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,icon); // Intent intent = new Intent(getApplicationContext(), // MainActivity.class); Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url)); //下面两个属性是为了当应用程序卸载时桌面 上的快捷方式会删除 intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.LAUNCHER"); //点击快捷图片,运行的程序主入口 shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,intent); //发送广播。OK sendBroadcast(shortcutIntent); }
当你卸装你的应用程序的时候你又会发现存在一个问题就是你的应用程序虽然卸载了,可是桌面上的快捷方式并未卸载。呵呵,其实你只要在你要设置对应启动进入的那个Intent加上这么下面的两个属性就是表明与你的应用绑定了。
//下面两个属性是为了当应用程序卸载时桌面 上的快捷方式会删除 intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.LAUNCHER");
千万别忘记在AndroidManifest.xml加上下面的这个权限:
<uses-permissionandroid:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
不要让昨天的沮丧 让今天的梦想黯然失色
成功的人总是修改方法而不修改目标
微信公众号:javenlife
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2013-03-07 Android隐藏状态栏和标题栏,相当于全屏效果