Android程序开发之手机APP创建桌面快捷方式
作者:Jusenr/荣雪-rongsnow 发布时间:2023-04-01 06:55:49
标签:app,桌面,快捷方式
预览效果图:
需要权限:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
配置文件:AndroidManifest.xml
<activity
android:name="com.myself.news.activity.GuideActivity"
android:label="@string/title_activity_guide" >
<intent-filter>
<action android:name="com.myself.news.ACTION_HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在应用的闪屏页面Activity的 oncreate方法调用 installShortcut();
代码:
// 创建快捷方式
// com.android.launcher.permission.INSTALL_SHORTCUT
private void installShortcut() {
// 判断有没有创建过快捷方式
boolean isCreated = SharedPreferencesUtils.getBoolean(this,
GlobalConstantsUtils.PREF_IS_SHORTCUT_INTALLED, false);
// 判断是否已经创建过
if (!isCreated) {
// 发广播
Intent intent = new Intent();
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
// 图标
// 根据资源文件id生成Bitmap对象
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory
.decodeResource(getResources(), R.drawable.ic_launcher));
// 名称
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "手机安全卫士");
// 动作
Intent actionIntent = new Intent();
// 跳到主页面
actionIntent.setAction(GlobalConstantsUtils.ACTION_HOME);
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, actionIntent);
sendBroadcast(intent);
// 标记已经创建过快捷方式,下次不再创建
SharedPreferencesUtils.setBoolean(this,
GlobalConstantsUtils.PREF_IS_SHORTCUT_INTALLED, true);
}
}
常量工具类GlobalConstantsUtils:
public static final String PREF_IS_SHORTCUT_INTALLED = "is_shortcut_intalled";// 是否已经创建快捷方式
public static final String ACTION_HOME = "com.myself.news.ACTION_HOME";// 跳转到主页面的ACTION
0
投稿
猜你喜欢
- Mybatis注解查找@Select( "SELECT * FROM tt_user WHERE username Like #{
- 接着上次的实现, 添加 mybatis 查询 orcale 数据库第一步: 新建几个必须的包, 结果如下第二步: 在service包下新建p
- 前言Stream是一个来自数据源的元素队列并支持聚合操作,其中具有以下特性:Stream只负责计算,不存储任何元素,元素是特定类型的对象,形
- DataTableDataTable 是 C# 中常用的一种数据表格类型,它类似于数据库中的表格,可以用来存储和处理数据。DataTable
- springBoot是java开发中会经常用到的框架,那么在实际项目中项目配置了springBoot框架,应该如何在项目中读取配置文件中的参
- 前言:对于一个程序员来说,尤其是在java web端开发的程序员,三大框架:Struts+Hibernate+Spring是必须要掌握熟透的
- 概述归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有
- 对于初学java的同学来说,第一件事不是写hello world,而是搭建好java开发环境,下载jdk,安装,配置环境变量。这些操作在xp
- 看代码吧~package com.mtpc.admin.controller.exportSql;import ch.qos.logback
- 一、介绍knife4j增强版本的Swagger 前端UI,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把
- 本文将介绍如何通过Java程序来查找并高亮PDF中的文本。使用工具:Free Spire.PDF for Java(免费版)Jar文件获取及
- java怎么判断三位数先定义个测试数字,如图然后可以把数字转换成字符串来判断它的长度是否为3,如图获取判断数字范围是否在100到1000之间
- Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无
- 本文实例为大家分享了spring mvc实现文件上传与下载功能的具体代码,供大家参考,具体内容如下文件上传在pom.xml中引入spring
- 这篇文章主要介绍了Java使用Collections工具类对List集合进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一
- public Bitmap CopyBitmap(Bitmap source){ int depth =
- 关于modelandview跳转问题小白刚刚开始学习使用springmvc框架,配置好简单的web.xml文件和springmvc的配置文件
- 最近经常在机房看同学在玩一个走迷宫的游戏,比较有趣,自己也用java写一个实现随机生成迷宫的算法,其实就是一个图的深度优先遍历算法.基本思想
- 目录1 Exchanger 介绍2 Exchanger 实例exchange等待超时3 实现原理1 Exchanger 介绍前面分别介绍了C
- 一、API简介Thread.sleep()是Thread类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断