无标题文档
人多不足以依赖,要生存只有靠自己。
      深窥自己的心,而后发觉一切的奇迹在你自己。
          凡事皆有终结,因此,耐心是赢得成功的一种手段。

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"/>

 

posted @   酷玩时刻  阅读(746)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 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隐藏状态栏和标题栏,相当于全屏效果
友情链接:快递查询 快递查询
点击右上角即可分享
微信分享提示