Android:给应用界面提供快捷方式

Android:给应用界面提供快捷方式

  • 目录

    Android:给应用界面提供快捷方式

    前言

    一、代码

    二、遇到的问题和解决方法

    1.不知道包名

    2.运行时显示错误

    三、效果


前言

        在平时使用微信,支付宝等APP的时候,我们长按应用图标,其会弹出扫一扫等应用界面快捷方式,如图所示。

        最近观看动脑学院的安卓教程,里面正好有这一功能的实现教程。但按照里面敲出来会发生许多报错,在这里将代码和我遇到的错误以及解决方法po出来供大家借鉴。


 

提示:以下是本篇文章正文内容,下面案例可供参考

一、代码

        首先,在res文件夹中新建一个目录“xml”,新建一个xml文件叫做shortcuts.xml,如下图所示。

         其代码如下:

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android"><shortcutandroid:shortcutId="first"android:enabled="true"android:icon="@mipmap/ic_launcher"android:shortcutShortLabel="@string/first_short"android:shortcutLongLabel="@string/first_long"><intentandroid:action="android.intent.action.VIEW"android:targetPackage="com.example.hotel"android:targetClass="com.example.hotel.ui.MainActivity"/><categories android:name="android.shortcut.conversation"/></shortcut></shortcuts>

         需要注意的是,shortcutShortLabel和shortcutLongLabel不能直接在双引号内写对应的内容,而应该在values目录下的string.xml配置相关内容,然后回到该文件引用。

        string.xml代码如下:

<resources><string name="app_name">crab</string><string name="first_short">first</string><string name="first_long">首页</string>
</resources>

        然后在AndroidMainifest.xml中进行配置,我以主页面作为启动页面,在其中加入<meta-data>标签,如下图所示。

        这样的话流程就走完了。 

 

二、遇到的问题和解决方法

1.不知道包名

        在视频中,老师在AndroidManifest.xml找到包名,但是我点开我的文件,里面没有显示包名,我找了好久也不知道对应的包名:

         于是在shortcuts.xml中寻找targetPackage不知道该写啥,所以需要找一种方式得到包名。

        我通过下面方法获得了包名:

        修改MainActivity.java文件:

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String packageName = getPackageName();Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.setPackage(packageName);TextView tv_receive = findViewById(R.id.tv_receive);String desc = String.format("包名为:%s",packageName);tv_receive.setText(desc);}
}

         主页面的layout代码如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".ui.MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="这里是主页面!!!还未开发完成!!!!!!!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/tv_receive"android:layout_width="match_parent"android:layout_height="wrap_content"/></androidx.constraintlayout.widget.ConstraintLayout>

        运行之后,得到包名,如图所示:

         于是将 包名加入配置文件、以及targetPackage便解决该问题。

2.运行时显示错误

ERROR:D:\AndroidProject\xxx\app\src\main\res\xml\shortcuts.xml:7: AAPT: error: attribute android:shortcutID not found.

        刚开始显示这个错误,经过我一番细致检查,我发现是打错字了……shortcutId的最后一个字母打成了大写……

        不过修改完之后还是报错,我查阅了资料:这个错误通常是由于在 Android 版本较早的设备上使用了android:shortcutId,而它只在 Android 7.1(API 级别 25)及以上版本中可用,所以需要解决该错误。

        于是我在我项目的build.gradle文件查找我的minSdk版本,发现刚好24……于是进行修改

        修改后右上角会弹出信息,点击Sync Now,不要点击ingnore these changes。

        修改之后就可以成功运行了。

三、效果

        如图所示:


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/48191.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知识图谱相关概念整理

文章目录 1、概论2、什么是知识图谱&#xff1f;3、知识图谱能做什么&#xff1f;4、知识图谱的技术路线图5、知识图谱构建5.1、构建知识图谱的生命周期5.2、Schema定义5.3、知识抽取5.4、知识融合5.5、知识存储5.6、知识推理 6、知识图谱应用6.1 搜索6.2 问答系统&#xff08;…

让Visual Studio用上chatgpt

最近小编思维发散“Visual Studio可以集成chatgpt吗&#xff1f;”&#xff0c;这样不就可以让chatgpt帮你写代码了吗&#xff1f;寻觅了一圈&#xff0c;还真有这个东西&#xff0c;那就是一个Visual Studio的扩展插件&#xff1a;Visual chatGPT Studio&#xff0c;虽然不是官…

P4999 烦人的数学作业

不会数位dp,遂来补习 题意:给定区间 [ L , R ] [L,R] [L,R]求这个区间每个数字拆成10进制后的数字和. 按照固定套路,先要解决 0 到 n 0到n 0到n每个数字拆成10进制后的数字和. 然后把 n n n拆成一个长度为 l e n len len的串, d f s dfs dfs找到合法的 l e n len len位置上的合…

微机作业——“学生成绩统计“

微机作业——“学生成绩统计” 1. 题目 从键盘输入某计算机应用班35人的《计组》成绩&#xff08;百分制&#xff09;&#xff0c;按成绩从高到低排序。并计算全班总成绩、平均成绩、统计低于平均成绩的学生人数&#xff0c;并将结果在屏幕上显示。 2. 实现功能 从键盘输入…

CRNN论文翻译——中英文对照

文章作者&#xff1a;Tyan 博客&#xff1a;noahsnail.com | CSDN | 简书 声明&#xff1a;作者翻译论文仅为学习&#xff0c;如有侵权请联系作者删除博文&#xff0c;谢谢&#xff01; 翻译论文汇总&#xff1a;https://github.com/SnailTyan/deep-learning-papers-tra…

CTPN论文翻译——中英文对照

文章作者&#xff1a;Tyan 博客&#xff1a;noahsnail.com | CSDN | 简书 声明&#xff1a;作者翻译论文仅为学习&#xff0c;如有侵权请联系作者删除博文&#xff0c;谢谢&#xff01; 翻译论文汇总&#xff1a;https://github.com/SnailTyan/deep-learning-papers-tra…

轻松使用阿里达摩院开源在魔搭社区上的CLUE语义匹配模型

作者&#xff1a;燕返 简介 CLUE&#xff08;中文语言理解测评基准&#xff09;是中文语言理解领域的权威榜单&#xff0c;包含多项测评任务。近日&#xff0c;达摩院NLP团队在其中的语义匹配榜登顶&#xff0c;并在魔搭社区&#xff08;ModelScope&#xff09;上开源了预训练和…

重要升级!OpenAI PowerShell SDK 支持Azure OpenAI的ChatGPT服务

如果关注过我这个公众号&#xff0c;你可以通过这篇文章&#xff08;ChatGPT PowerShell SDK 发布 &#xff09; 了解到我开发和维护的这个非官方的OpenAI PowerShell SDK, 此前已经支持在PowerShell中发起completions服务调用&#xff08;可广泛用于后台自动化&#xff0c;主要…

[chatgpt+Azure]unity AI二次元小女友之使用微软Azure服务实现RestfulApi->语音识别+语音合成

1.简述 如题所述&#xff0c;这个小项目是在unity引擎端&#xff0c;使用了chatgpt微软azure的一个AI二次元女友对话的项目&#xff0c;实现原理也比较简单&#xff0c;即在unity端实现AI二次元女友的交互界面&#xff0c;接入chatgpt-3.5-turbo的api接口&#xff0c;借助chatg…

chatgpt 能用什么到底

l理论上gpt可以担任一个很好的方向指导GPT社区

微信导出表情包教程

方法1&#xff1a;微信公众号 去免费申请个微信公众号&#xff0c;然后关注就可以给公众号发送表情包了&#xff0c;然后就可以下载这个表情包。 方法二&#xff1a;微信网页版 登录 https://wx.qq.com/ 然后聊天发送的表情直接拉出页面就会生成新的表情包页面&#xff0c;然后…

简单操作,轻松在线制作gif动图表情包

相信很多的朋友在使用微信、QQ等工具聊天的时候&#xff0c;经常会用到各式各样的表情包。表情包不但更加的有趣&#xff0c;而且能传达出很多文字无法表达的感情和情绪&#xff0c;更加的生动形象。那么大家知道怎么gif制作https://www.gif.cn/动图的吗?接下来手把手教大家怎…

表情包的gif怎么制作?一招教你快速做gif表情

Gif表情包是当下网友们聊天必备的一种情感表达方式&#xff0c;利用一张有动态效果的图片就可以表达出自己的心情和想法&#xff0c;十分有趣。那么&#xff0c;大家一定很好奇自己应该如何制作gif动图表情包吧&#xff01;很简单&#xff0c;使用gif制作&#xff08;https://w…

从微信导出表情包的简便方法 (不使用微信 for pc,无需进入文件夹寻找!)

微信表情大概分为两类&#xff0c;一类是打开右下角有一个可以操作的按键可以保存&#xff0c;一般是做好一套可以下载的但大多数没有杀伤力&#xff0c;为江湖人所不齿&#xff0c;另一件是没有的&#xff0c;本文从&#xff08;技术角度&#xff09;讨论后一个 不使用微信 f…

怎么做表情包微信gif?好用的制作方法介绍

怎么做表情包微信gif&#xff1f;现如今基本上人手一个微信&#xff0c;微信作为我们日常人际沟通的重要工具之一&#xff0c;我们在日常的聊天中&#xff0c;除了发送文字、图片等内容&#xff0c;也会发送一些表情包&#xff0c;活跃气氛。通常情况下&#xff0c;我们发送的表…

LM+Embedding构建问答系统的局限性及优化方案

原文&#xff1a;LLMEmbedding构建问答系统的局限性及优化方案 - 知乎 近期 LangChain LLM 方案高速发展&#xff0c;降低了知识问答等下游应用的开发门槛。但随着业务深入&#xff0c;一些局限性也日渐显露&#xff0c;比如&#xff1a;LLM意图识别准确性较低&#xff0c;交互…

Segment Anything CV界的GPT—prompt-based里程碑式研究成果

一、计算机视觉界的里程碑式研究成果 - SAM与SA-1B综述 Segment Anything受chatGPT式的prompt-based思路启发&#xff0c;训练数据集涵盖10亿masks&#xff0c;根据提供的图片注释实时产生不同的mask分割结果&#xff0c;试用效果惊人。 Segment Anything之于Computer Vision&…

更快地分割任何事物:面向移动应用的轻量级Sam

文章目录 摘要1、简介2、相关工作3、适合移动设备的SAM3.1、背景和项目目标3.2、提出方法4、实验4.1、实验设置4.2、MobileSAM的性能与原版SAM相当4.3、MobileSAM优于FastSAM5、结论摘要 https://arxiv.org/pdf/2306.14289v2.pdf 分割任何事物模型(SAM)因其令人印象深刻的零样本…

基于自然语言处理的多模态模型_综述

A Survey on Multimodal Large Language Models&#xff1b; 论文链接&#xff1a;https://arxiv.org/pdf/2306.13549.pdf 项目链接(实时更新最新论文&#xff0c;已获1.8K Stars)&#xff1a;https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models 研究背景 …

AI向百万薪资 高级原画师开刀?!爆Midjourney入局3D模型生成

来源 SoulofArt | ID Soul_Art 现在AI向高级原画师和3D开刀了&#xff1f; 网传爆料AI已入局3D模型生成... 这进化速度放在整个行业都十分炸裂 4月&#xff0c;Midjourney进一步宣布推出Niji-journey V5 这是MJ针对二次元动漫风格预训练好的模型 可在其中添加提示词直接调…