在桌面上创建特定界面的快捷入口,icon和title根据请求参数命名。在网上收集的一些相关资 料,在使用intent发送广播的时候,一些型号的收集会有问题,如魅族MX,红米,以及华为,使用setClass和setComponent创建快捷 方式的时候不能正确生成快捷方式,有的快捷方式的会使用相应包下的APP名称命名,有的手机如魅族会应为包名冲突而无法创建快捷方式。解决的办法就是使用 setAction来创建Intent,然后可以在data/data/com.andoird.launcher/databases /launcher.db中查看桌面快捷方式的数据是否正确。以下是相关代码:

Intent intent = new Intent("cn.example.action.SHORTCUT");
//自定义action
  
  intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
  
  Bundle bundle = new Bundle();
  bundle.putString("type", "default");
  intent.putExtras(bundle);
  
  //创建快捷方式的Intent
  Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
  //不允许重复创建
  shortcutintent.putExtra("duplicate", false);
  //需要现实的名称
  shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷方式");
  //快捷图片
  Parcelable icon = Intent.ShortcutIconResource.fromContext(activity.getApplicationContext() , R.drawable.logo);
  shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
  //点击快捷图片,运行的程序主入口
  shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
  //发送广播。OK
  activity.sendBroadcast(shortcutintent);

然后在快捷启动对应的activity下加上intent-filter:
<intent-filter>
<action android:name="cn.kuwo.player.action.SHORTCUT" />
</intent-filter>

这样就可以适应大多数机型

Android创建桌面快捷方式的更多相关文章

  1. (转)Android创建桌面快捷方式两种方法

    [IT168技术]Android在桌面上生成快捷方式有两种情况,一种是直接在桌面直接生成;一种是长按桌面,在弹出的快捷菜单中生成. 谈谈在桌面上直接生成.个人觉得这个比较爽快,既然都是快捷方式了干嘛还 ...

  2. Android -- 创建桌面快捷方式

    代码                                                                                    /** * * 返回添加到桌 ...

  3. android创建桌面快捷方式(启动目标非项目的启动页)

    1.布局文件中,目标Activity加入以下filter <intent-filter>                  <action android:name="an ...

  4. Android开发之创建桌面快捷方式

    Android创建桌面快捷方式就是在桌面这个应用上创建一个快捷方式,桌面应用:launcher2 通过查看launcher2的清单文件: <!-- Intent received used to ...

  5. android 为应用程序创建桌面快捷方式技巧分享

    手机装的软件过多,找起来很不方便,所以在主页面有一个快捷方式的话会很不错的,本文将介绍如何实现,需要了解跟多的朋友可以参考下     我们开发一款软件后,如果手机装的软件过多,去翻的话会很难翻的,所以 ...

  6. Android 添加桌面快捷方式操作

    /** * 为程序创建桌面快捷方式 */ private void addShortcut(){ Intent shortcut = new Intent(“com.android.launcher. ...

  7. Android创建桌面快捷图标

    <!-- 添加快捷方式 --> <uses-permission android:name="com.android.launcher.permission.INSTALL ...

  8. Ubuntu创建桌面快捷方式

    默认情况下,ubuntu会将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面快捷方式,只需要右键-复制-桌面 就Ok,如图: 上面的方法是通过系统自 ...

  9. Windows中创建桌面快捷方式

    Windows中创建桌面快捷方式 -------------- -------------- -------------- --------------

随机推荐

  1. 【LeetCode】83 - Remove Duplicates from Sorted Array

    Given a sorted array, remove the duplicates in place such that each element appear only once and ret ...

  2. 为什么使用开源软件(Open Source Software)

    国产软件的流氓化看起来已经蔚然成风,在安装到电脑之后,它们就不想再离开,甚至它们还想将同一家族的产品通过后台下载全部推送给你.搜狗输入法最近就被发现悄悄推送了搜狗浏览器. 一位用户用 debugvie ...

  3. python3 多线程的基本用法

    #coding=utf-8 import threading #导入threading包 from time import sleep import time   def task1():     p ...

  4. stardict dict

    stardict在sourceforge项目里的词典都不见,估计是由于版权方面的问题导致的,不过以前那些还是可以继续用的,没有下载的可以备份一份.每个字典文件夹里都有一个.ifo文件,可以用记事本打开 ...

  5. mongodb使用中遇到的问题汇总

    1. 每次重新打开mongo,都会显示:forked process:xxxx ,然后用 find -name mongod.lock 进行搜索,发现在 ./var/lib/mongodb/ 目录下又 ...

  6. Spark及其应用场景初探

    最近老大让用Spark做一个ETL项目,搭建了一套只有三个结点Standalone模式的Spark集群做测试,基础数据量大概8000W左右.看了官方文档,Spark确实在Map-Reduce上提升了很 ...

  7. hadoop2.6.0 --- 64位源代码

    今天有朋友在群里找hadoop最新的2.6.0的源代码,其实这个源代码在hadoop的官方网站是有下载的(应该是32位的),还有一个src,不过给的是maven版本,需要自己在机器上编译一下(我的机器 ...

  8. 未找到与约束contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService

    在項目中遇到的問題,網上找到的答案,做個記錄, 项目能打开,但是当要在项目中查看文件时弹出 未找到与约束 Microsoft.VisualStudio.Utilities.IContentTypeRe ...

  9. binarySearch二分查找——Javascript实现

    在很早之前,我就写过了一篇也关于二分法的相关博文:JavaScript快排与原生sort的测试.当时是用二分法进行快速排序,其实和这次思路大致相当.二分查找最重要的一个条件,就是需要将数组先按照从小到 ...

  10. CF160D

    题意:给你一个图,判断每条边是否在最小生成树MST上,不在输出none,如果在所有MST上就输出any,在某些MST上输出at least one: 分析:首先必须知道在最小生成树上的边的权值一定是等 ...