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>
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

如何把应用程序的快捷方式(shortcuts)添加到桌面——(开源项目apps-for-android中的AnyCut项目详解)

如果用语言描述一个项目显得苍白无力的时候,我就是让他看见,所见即所得。如下图所示: 1.项目图如下: 2.增加Shrotcut的截图如下: 3.增加Shortcut之后Home Scre...

给vs安装项目添加卸载快捷方式

我的编译器是vs2010 1.新建项目(控制台应用程序,NET版本同你的主程序相同) 2.右击项目》属性》应用程序》应用程序类型》更改为windows窗体应用程序(这么做的目的是为了在运行...

Android快捷方式

  • 2015-09-18 16:05
  • 1.43MB
  • 下载

Android基础开发 app快捷方式创建

APP的快捷方式: 直接生成快捷方式主要是通过发送系统广播InstallShortcutReceiver实现的,建议去看下InstallShortcutReceiver的源代码,在Android s...

android 快捷方式到桌面

  • 2012-08-28 11:27
  • 173KB
  • 下载

Android开启应用时自动创建快捷方式

今天在使用360手机助手时,发现它会自动创建一个快捷启动方式,感觉挺有意思的,所以就上网百度了一些方法,试了一下,有一种方法是挺不错的,我借鉴来用用,先保存下来,我也写了一个测试小程序。      ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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