首页 > 软件开发 > ANDROID >

Android为你的应用程序添加桌面快捷方式

来源:互联网 2023-03-16 23:54:33 483

相信大家在使用很多的应用的时候都碰到过这样的一个情景,那就是当我们第一次点击使用这个应用的时候程序会主动的为我们创建一个桌面上的快捷方式,这样的好处是可以让用户更加方便的进入这个应用,省去找的麻烦。有句话曾经说,谁占据了PC桌面客户端谁就是王者。所以我们在做开发的时候肯定也会有用到这一点,那么今天我就和大家分享实现的这样的一个功能。其实不难,你只需要在你的应用程序启动的第一个Activity里添加这样的一个方法:Wg6办公区 - 实用经验教程分享!

方法/步骤

  • 1

    Activity里添加这样的一个方法:Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    /** Wg6办公区 - 实用经验教程分享!

    * 创建快捷方式 Wg6办公区 - 实用经验教程分享!

    */ Wg6办公区 - 实用经验教程分享!

    public void createDeskShortCut() { Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Log.i("coder", "------createShortCut--------"); Wg6办公区 - 实用经验教程分享!

    // 创建快捷方式的Intent Wg6办公区 - 实用经验教程分享!

    Intent shortcutIntent = new Intent( Wg6办公区 - 实用经验教程分享!

    "com.android.launcher.action.INSTALL_SHORTCUT"); Wg6办公区 - 实用经验教程分享!

    // 不允许重复创建 Wg6办公区 - 实用经验教程分享!

    shortcutIntent.putExtra("duplicate", false); Wg6办公区 - 实用经验教程分享!

    // 需要现实的名称 Wg6办公区 - 实用经验教程分享!

    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, Wg6办公区 - 实用经验教程分享!

    getString(R.string.app_name)); Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    // 快捷图片 Wg6办公区 - 实用经验教程分享!

    Parcelable icon = Intent.ShortcutIconResource.fromContext( Wg6办公区 - 实用经验教程分享!

    getApplicationContext(), R.drawable.ic_launcher); Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Intent intent = new Intent(getApplicationContext(), Wg6办公区 - 实用经验教程分享!

    AndroidLayoutActivity.class); Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    // 点击快捷图片,运行的程序主入口 Wg6办公区 - 实用经验教程分享!

    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent); Wg6办公区 - 实用经验教程分享!

    // 发送广播。OK Wg6办公区 - 实用经验教程分享!

    sendBroadcast(shortcutIntent); Wg6办公区 - 实用经验教程分享!

    } Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

  • 2

    如果只是添加这些代码,当你卸装你的应用程序的时候你又会发现存在一个问题就是你的应用程序虽然卸载了,可是桌面上的快捷方式并未卸载。呵呵,其实你只要在你要设置对应启动进入的那个Intent加上这么下面的两个属性就是表明与你的应用绑定了。

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    // 下面两个属性是为了当应用程序卸载时桌面上的快捷方式会删除 Wg6办公区 - 实用经验教程分享!

    intent.setAction("android.intent.action.MAIN"); Wg6办公区 - 实用经验教程分享!

    intent.addCategory("android.intent.category.LAUNCHER"); Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

  • 3

    给上完整的代码:

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    package com.jiahui.layout; Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    import android.app.Activity; Wg6办公区 - 实用经验教程分享!

    import android.content.Context; Wg6办公区 - 实用经验教程分享!

    import android.content.Intent; Wg6办公区 - 实用经验教程分享!

    import android.content.SharedPreferences; Wg6办公区 - 实用经验教程分享!

    import android.os.Bundle; Wg6办公区 - 实用经验教程分享!

    import android.os.Parcelable; Wg6办公区 - 实用经验教程分享!

    import android.util.Log; Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    public class AndroidLayoutActivity extendsActivity { Wg6办公区 - 实用经验教程分享!

    /**Called when the activity is first created. */ Wg6办公区 - 实用经验教程分享!

    @Override Wg6办公区 - 实用经验教程分享!

    publicvoid onCreate(Bundle savedInstanceState) { Wg6办公区 - 实用经验教程分享!

    super.onCreate(savedInstanceState); Wg6办公区 - 实用经验教程分享!

    setContentView(R.layout.view_personal_info); Wg6办公区 - 实用经验教程分享!

    SharedPreferencespreferences = getSharedPreferences("first", Wg6办公区 - 实用经验教程分享!

    Context.MODE_PRIVATE); Wg6办公区 - 实用经验教程分享!

    booleanisFirst = preferences.getBoolean("isfrist", true); Wg6办公区 - 实用经验教程分享!

    if(isFirst) { Wg6办公区 - 实用经验教程分享!

    createDeskShortCut(); Wg6办公区 - 实用经验教程分享!

    } Wg6办公区 - 实用经验教程分享!

    SharedPreferences.Editoreditor = preferences.edit(); Wg6办公区 - 实用经验教程分享!

    editor.putBoolean("isfrist",false); Wg6办公区 - 实用经验教程分享!

    editor.commit(); Wg6办公区 - 实用经验教程分享!

    } Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    /** Wg6办公区 - 实用经验教程分享!

    * 创建快捷方式 Wg6办公区 - 实用经验教程分享!

    */ Wg6办公区 - 实用经验教程分享!

    publicvoid createDeskShortCut() { Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Log.i("coder","------createShortCut--------"); Wg6办公区 - 实用经验教程分享!

    //创建快捷方式的Intent Wg6办公区 - 实用经验教程分享!

    IntentshortcutIntent = new Intent( Wg6办公区 - 实用经验教程分享!

    "com.android.launcher.action.INSTALL_SHORTCUT"); Wg6办公区 - 实用经验教程分享!

    //不允许重复创建 Wg6办公区 - 实用经验教程分享!

    shortcutIntent.putExtra("duplicate",false); Wg6办公区 - 实用经验教程分享!

    //需要现实的名称 Wg6办公区 - 实用经验教程分享!

    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, Wg6办公区 - 实用经验教程分享!

    getString(R.string.app_name)); Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    //快捷图片 Wg6办公区 - 实用经验教程分享!

    Parcelableicon = Intent.ShortcutIconResource.fromContext( Wg6办公区 - 实用经验教程分享!

    getApplicationContext(),R.drawable.ic_launcher); Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,icon); Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Intentintent = new Intent(getApplicationContext(), Wg6办公区 - 实用经验教程分享!

    AndroidLayoutActivity.class); Wg6办公区 - 实用经验教程分享!

    //下面两个属性是为了当应用程序卸载时桌面 上的快捷方式会删除 Wg6办公区 - 实用经验教程分享!

    intent.setAction("android.intent.action.MAIN"); Wg6办公区 - 实用经验教程分享!

    intent.addCategory("android.intent.category.LAUNCHER"); Wg6办公区 - 实用经验教程分享!

    //点击快捷图片,运行的程序主入口 Wg6办公区 - 实用经验教程分享!

    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,intent); Wg6办公区 - 实用经验教程分享!

    //发送广播。OK Wg6办公区 - 实用经验教程分享!

    sendBroadcast(shortcutIntent); Wg6办公区 - 实用经验教程分享!

    } Wg6办公区 - 实用经验教程分享!

    } Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

  • 4

    千万别忘记在AndroidManifest.xml加上下面的这个权限:Wg6办公区 - 实用经验教程分享!

    uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

  • 5

    最终效果图:

    Wg6办公区 - 实用经验教程分享!

    Wg6办公区 - 实用经验教程分享!

    Android为你的应用程序添加桌面快捷方式Wg6办公区 - 实用经验教程分享!

  • 5此文章未经许可获取自百度经验
  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Wg6办公区 - 实用经验教程分享!


    标签: Android桌面

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码