Android项目-快捷方式

原创 2015年11月19日 20:30:36

Android项目-快捷方式

如何在桌面上创建一个快捷方式呢?

桌面也是一个App,要想在桌面上创建一个快捷方式得靠他
在Android的系统应用程序Launcher2中提供了一个广播接收者:InstallShortcutReceiver
我们可以通过给他发送一个安装快捷方式的广播,来安装我们的App的快捷方式

/*
*创建一个可以快速打电话的快捷方式
*/

public class CallShortCutActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = new Intent();
        intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");  //

        //dowhtIntent 用于告诉InstallShortcutReceiver, 我们要创建的快捷方式的样子
        Intent dowhtIntent = new Intent();
        dowhtIntent.setAction(Intent.ACTION_CALL); //这个快捷方式用来打电话
        dowhtIntent.setData(Uri.parse("tel://110")); //电话号码
        intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "哈哈");  //快捷方式的名字
        intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));      //快捷方式的图标

        intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, dowhtIntent);//装载数据
        sendBroadcast(intent);
    }
}

/*
*创建我们的App的快捷方式
*/

public class StartActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    private void createShortcut() {

        Intent intent = new Intent();   
        intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

        //如果设置为true表示可以创建重复的快捷方式
        intent.putExtra("duplicate", false);
        intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
        intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "我的App");

        /**
         *说明,我们这个快捷方式要启动应用
         * 这个地方不能使用显示意图
         * 必须使用隐式意图来启动我们的应用
         */
        Intent shortcut_intent = new Intent();  
        shortcut_intent.setAction("start_my_app");   //我们应用的首页的<intent-filter/>, 具体配置在下面
        shortcut_intent.addCategory("android.intent.category.DEFAULT");  //得加上

        intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcut_intent);     
        sendBroadcast(intent);

    }
}


     <activity android:name="com.itheima.mobileguard.activities.HomeActivity" >
            <intent-filter>
                <!-- 这个名字可以随便取 -->
                <action android:name=start_my_app" ></action>
                <category android:name="android.intent.category.DEFAULT" ></category>
            </intent-filter>
     </activity>
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android创建桌面快捷方式并像启动Activity传递参数

创建快捷方式可能非常简单,但是我们现在要想实现快捷方式像启动的Acitivty传递参数。 直接上代码了,注释的非常详细。 /** * 为程序创建桌面快捷方式 *...
  • attmore
  • attmore
  • 2012年02月09日 00:38
  • 3825

Android应用程序添加、删除快捷方式

最近项目需要做一个快捷方式,不是应用程序的快捷方式,而是应用程序某一个功能的快捷方式,比如金山电池的“快捷省电”桌面快捷方式,在做的过程中,遇到了一些问题,现在记录一下,万一有人和我碰到同样的问题,不...
  • Ancywawa
  • Ancywawa
  • 2016年06月24日 09:43
  • 1260

Android进阶之创建快捷方式

1 权限
  • chenliguan
  • chenliguan
  • 2017年08月14日 23:28
  • 687

Android 为应用创建、删除桌面快捷方式

为应用创建快捷方式目前有两种方法: 1. 程序启动时主动添加快捷方式到桌面; 2....
  • JJMM2009
  • JJMM2009
  • 2014年07月17日 11:21
  • 16448

Android 创建快捷方式

Android 创建快捷方式 ONE Goal, ONE Passion ! 1,查看Launcher源码.找到创建快捷方式的BroadcastReceiver.在清单文件中查看配置的recei...
  • fengltxx
  • fengltxx
  • 2016年08月12日 19:46
  • 856

Android 关于快捷方式的总结(创建、删除、判断是否存在和跳转)

这几天项目需求,要做个快捷方式,然后上网查询了一下,发现现在网上的一些关于快捷方式一些博客都说的比较单一、比较简单、也比较老了,本人就把网上的一些东西,和我自己发现一些东西集成到一起,写个博客出来,以...
  • lanfei1027
  • lanfei1027
  • 2015年09月08日 21:13
  • 1733

Android中实现Launcher功能之一 ----- 添加快捷方式

转载请注明出处:http://blog.csdn.net/qinjuning               前言: 最近一直在看Launcher模块,经过差不多两个月学习,终于摸透了Lau...
  • qinjuning
  • qinjuning
  • 2012年01月08日 21:11
  • 15022

android 创建快捷方式的两种途径

1.   在清单文件里面进行注册:例如:
  • ym19860303
  • ym19860303
  • 2012年05月28日 21:21
  • 8028

在Android中修改快捷方式的图标

更改Android应用程序的图标
  • sanqima
  • sanqima
  • 2014年05月04日 10:18
  • 2324

AndroidStudio的快捷方式与使用技巧

AndroidStudio的快捷方式与使用技巧
  • hubaoquanu
  • hubaoquanu
  • 2016年06月26日 10:34
  • 2788
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android项目-快捷方式
举报原因:
原因补充:

(最多只允许输入30个字)