无涯教程-Android - Intents/Filters

news2025/1/12 12:26:01

Android Intent 是要执行的操作的抽象描述。它可以与 startActivity 一起启动Activity,将 broadcastIntent 发送给任何BroadcastReceiver组件,并与 startService(Intent)或 bindService(Intent,ServiceConnection,int)与后台服务进行通信。

假设您有一个Activity,该Activity需要启动电子邮件客户端并使用Android设备发送电子邮件,为此,您的"Activity"会将ACTION_SEND和相应的 chooser 发送到Android Intent解析器。指定的selector为用户提供适当的界面,以选择如何发送您的电子邮件数据。

Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
email.putExtra(Intent.EXTRA_EMAIL, recipients);
email.putExtra(Intent.EXTRA_SUBJECT, subject.getText().toString());
email.putExtra(Intent.EXTRA_TEXT, body.getText().toString());
startActivity(Intent.createChooser(email, "Choose an email client from..."));

上面的语法正在调用startActivity方法来启动电子邮件Activity,输出应如下所示-

Send Email

假设您有一个Activity,需要在Android设备上的网络浏览器中打开URL。为此,您的"Activity"会将ACTION_WEB_SEARCH Intent发送到Android Intent Resolver,以在网络浏览器中打开给定的URL。 Intent解析器将解析一系列Activity,然后选择最适合您的Intent的Activity。然后,Intent Resolver将您的网页传递到Web浏览器并启动Web浏览器Activity。

String q = "learnfk";
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH );
intent.putExtra(SearchManager.QUERY, q);
startActivity(intent);

上面的示例将在android搜索引擎上以 learnfk 搜索,并在您的Activity中提供了learnfk的输出

Sr.NoMethod & 描述
1

Context.startActivity()

Intent对象将传递给此方法以启动新Activity或获取现有Activity以执行新操作。

2

Context.startService()

Intent对象将传递给此方法以启动服务或将新指令传递给正在进行的服务。

3

Context.sendBroadcast()

Intent对象将传递给此方法,以将消息传递给所有感兴趣的广播接收者。

Intent对象

Intent意图是一种信息,供接收该Intent的组件使用以及Android系统使用的信息,一个Intent对象可以根据其正在通信或将要执行的内容包含以下组件-

Action

这是意图对象的必需部分,并且是一个字符串,用于命名要执行的动作-或在广播意图的情况下,是已发生并要报告的动作。动作很大程度上决定了其余意图对象的结构。意图类定义了许多与不同意图对应的动作常量。这是 Android Intent Standard Actions 

可以通过setAction()方法设置意图对象中的动作,并通过getAction()读取该动作。

Data

将数据规范添加到意图过滤器。规范可以只是数据类型(mimeType属性),只是URI,或者既是数据类型又是URI, URI由其每个部分的单独属性指定-

这些指定URL格式的属性是可选的,但也相互依赖-

  • 如果未为意图过滤器指定方案,则会忽略所有其他URI属性。
  • 如果未为过滤器指定主机,则将忽略端口属性和所有路径属性。

action/data对的一些示例是-

Sr.No.行动/Data Pair & 描述
1

ACTION_VIEW content://contacts/people/1

显示有关其标识符为" 1"的人的信息。

2

ACTION_DIAL content://contacts/people/1

显示电话拨号器,并填写人员。

3

ACTION_VIEW tel:123

显示填写了给定number的电话拨号器。

4

ACTION_DIAL tel:123

显示填写了给定number的电话拨号器。

5

ACTION_EDIT content://contacts/people/1

编辑有关其标识符为" 1"的人的信息。

6

ACTION_VIEW content://contacts/people/

显示人员列表,用户可以浏览。

7

ACTION_SET_WALLPAPER

显示选择墙纸的设置

8

ACTION_SYNC

它将同步数据,常量值为 android.intent.action.SYNC

9

ACTION_SYSTEM_TUTORIAL

它将启动平台定义的教程(默认教程或启动教程)

10

ACTION_TIMEZONE_CHANGED

时区变化时提示

11

ACTION_UNINSTALL_PACKAGE

它用于运行默认卸载程序

Category

类别是意图对象的可选部分,它是一个字符串,其中包含有关应处理该意图的组件类型的其他信息。addCategory()方法将类别放置在意图对象中,removeCategory()删除先前添加的类别,并且getCategories()获取对象中当前所有类别的集合。这是Android Intent Standard Categories.

这些标志是意图对象的可选部分,用于指示Android系统如何启动Activity以及启动Activity后如何对其进行处理等。

Extras

这将在键值对中提供附加信息,这些附加信息应传递给处理该intents(意图)的组件。可以分别使用putExtras()和getExtras()方法设置和读取附加函数。这是Android Intent Standard Extra Data

Flags

这些标志是Intent对象的可选部分,用于指示Android系统如何启动Activity以及启动Activity后如何对其进行处理等。

Sr.NoFlags & 描述
1

FLAG_ACTIVITY_CLEAR_TASK

如果在传递给Context.startActivity()的Intent中进行设置,则此标志将导致在Activity开始之前清除与该Activity关联的所有现有任务。

2

FLAG_ACTIVITY_CLEAR_TOP

如果已设置,并且正在启动的Activity已经在当前任务中运行,那么与其启动该Activity的新,不如关闭该Activity之上的所有其他Activity,并将此意图传递给(现在顶部)将旧Activity作为新的意图。

3

FLAG_ACTIVITY_NEW_TASK

希望呈现"启动器"样式行为的Activity通常使用此标志:它们为用户提供了可以完成的单独操作的列表,否则这些操作完全独立于启动它们的Activity。

Component Name

此可选字段是android ComponentName 对象,代表Activity,Service或BroadcastReceiver类。如果已设置,则将Intent对象传递到指定类的,否则Android使用Intent对象中的其他信息来定位合适的目标。

组件名称由setComponent(),setClass()或setClassName()设置,并由getComponent()读取。

Intents类型

Android支持以下两种类型的意图

Intent

Explicit Intents

Explicit intents(显示意图)将被连接到应用程序的内部,假设您想将一个Activity连接到另一个Activity,无涯教程可以通过显式意图进行引用,下图是通过单击按钮将第一个Activity连接到第二个Activity。

明确intents(意图)(意图)
//通过指定其类名来显式意图
Intent i = new Intent(FirstActivity.this, SecondActivity.class);

//启动 TargetActivity
startActivity(i);

Implicit Intents

Implicit Intents(隐式意图)这些意图不会命名目标,并且组件名称的字段保留为空。如-

Intent read1=new Intent();
read1.setActive(android.content.Intent.ACTION_VIEW);
read1.setData(ContactsContract.Contacts.CONTENT_URI);
startActivity(read1);

上面的代码将给出如下所示的输出

Intent

接收到意图的目标组件可以使用getExtras()方法获取源组件发送的数据。例如-

//在代码中的适当位置获取捆绑对象
Bundle extras = getIntent().getExtras();

//使用传递的键提取数据
String value1 = extras.getString("Key1");
String value2 = extras.getString("Key2");

以下示例显示了用于启动各种Android内置应用程序的Android Intent意图函数,以下是修改后的主要Activity文件 src/com.example.My Application/MainActivity.java 的内容。

package com.example.saira_000.myapplication;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
   Button b1,b2;

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

      b1=(Button)findViewById(R.id.button);
      b1.setOnClickListener(new View.OnClickListener() {

         @Override
         public void onClick(View v) {
            Intent i = new Intent(android.content.Intent.ACTION_VIEW, 
               Uri.parse("http://www.example.com"));
            startActivity(i);
         }
      });

      b2=(Button)findViewById(R.id.button2);
      b2.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Intent i = new Intent(android.content.Intent.ACTION_VIEW,
               Uri.parse("tel:9510300000"));
            startActivity(i);
         }
      });
   }
}

以下是 res/layout/activity_main.xml 文件的内容-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" 
   android:layout_width="match_parent"
   android:layout_height="match_parent" 
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" 
   tools:context=".MainActivity">
   
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Intent Example"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />
      
   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Learnfk point"
      android:textColor="#ff87ff09"
      android:textSize="30dp"
      android:layout_below="@+id/textView1"
      android:layout_centerHorizontal="true" />
      
   <ImageButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageButton"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_centerHorizontal="true" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText"
      android:layout_below="@+id/imageButton"
      android:layout_alignRight="@+id/imageButton"
      android:layout_alignEnd="@+id/imageButton" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Start Browser"
      android:id="@+id/button"
      android:layout_alignTop="@+id/editText"
      android:layout_alignRight="@+id/textView1"
      android:layout_alignEnd="@+id/textView1"
      android:layout_alignLeft="@+id/imageButton"
      android:layout_alignStart="@+id/imageButton" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Start Phone"
      android:id="@+id/button2"
      android:layout_below="@+id/button"
      android:layout_alignLeft="@+id/button"
      android:layout_alignStart="@+id/button"
      android:layout_alignRight="@+id/textView2"
      android:layout_alignEnd="@+id/textView2" />
</RelativeLayout>

以下是 res/values/strings.xml 的内容,以定义两个新的常量-

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">My Applicaiton</string>
</resources>

以下是 AndroidManifest.xml 的默认内容-

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.saira_000.myapplication">

   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

在模拟器中显示内容如下

Android Intent Screen

现在单击启动浏览器按钮,这将跳转到 http://www.example.com 链接,如下所示-

Android Intent Browser

您可以使用启动电话会弹出拨打已经给定电话的界面。

Intents过滤器

您已经了解了如何使用Intent调用另一个Activity。Android OS使用过滤器来确定是哪个Activity执行,您将在文件中使用<intent-filter>元素列出与任何Activity,Service或Broadcast动作,Category和Data类型。

<activity android:name=".CustomActivity"
   android:label="@string/app_name">
   
   <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <action android:name="com.example.My Application.LAUNCH" />
      <category android:name="android.intent.category.DEFAULT" />
      <data android:scheme="http" />
   </intent-filter>
   
</activity>android.intent.action.VIEW 或 com.example.My应用程序来调用此Activity.LAUNCH 操作,前提是其类别为 android.intent.category.DEFAULT 。

<data>    -  元素指定Activity将要调用的数据类型,例如,在上面的示例中,无涯教程的自定义Activity期望数据以“ http://”开头

以下是修改后的主要Activity文件 src/MainActivity.java 的内容。

package com.example.learnfk7.myapplication;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
   Button b1,b2,b3;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      b1=(Button)findViewById(R.id.button);
      b1.setOnClickListener(new View.OnClickListener() {
      
         @Override
         public void onClick(View v) {
            Intent i = new Intent(android.content.Intent.ACTION_VIEW,
               Uri.parse("http://www.example.com"));
            startActivity(i);
         }
      });

      b2 = (Button)findViewById(R.id.button2);
      b2.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Intent i = new Intent("com.example.
               learnfk7.myapplication.
                  LAUNCH",Uri.parse("http://www.example.com"));
            startActivity(i);
         }
      });

      b3 = (Button)findViewById(R.id.button3);
      b3.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Intent i = new Intent("com.example.
               My Application.LAUNCH",
                  Uri.parse("https://www.example.com"));
            startActivity(i);
         }
      });
   }
}

以下是修改后的主要Activity文件 src/com.example.My Application/CustomActivity.java 的内容。

package com.example.learnfk7.myapplication;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;

/**
 * Created by LearnFk7 on 8/23/2016.
 */
public class CustomActivity extends Activity {
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.custom_view);
      TextView label = (TextView) findViewById(R.id.show_data);
      Uri url = getIntent().getData();
      label.setText(url.toString());
   }
}

以下是 res/layout/activity_main.xml 文件的内容-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context="com.example.learnfk7.myapplication.MainActivity">

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Intent Example"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />

   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Learnfk point"
      android:textColor="#ff87ff09"
      android:textSize="30dp"
      android:layout_below="@+id/textView1"
      android:layout_centerHorizontal="true" />

   <ImageButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageButton"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_centerHorizontal="true" />

   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText"
      android:layout_below="@+id/imageButton"
      android:layout_alignRight="@+id/imageButton"
      android:layout_alignEnd="@+id/imageButton" />

   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Start Browser"
      android:id="@+id/button"
      android:layout_alignTop="@+id/editText"
      android:layout_alignLeft="@+id/imageButton"
      android:layout_alignStart="@+id/imageButton"
      android:layout_alignEnd="@+id/imageButton" />

   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Start browsing with launch action"
      android:id="@+id/button2"
      android:layout_below="@+id/button"
      android:layout_alignLeft="@+id/button"
      android:layout_alignStart="@+id/button"
      android:layout_alignEnd="@+id/button" />
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Exceptional condition"
      android:id="@+id/button3"
      android:layout_below="@+id/button2"
      android:layout_alignLeft="@+id/button2"
      android:layout_alignStart="@+id/button2"
      android:layout_toStartOf="@+id/editText"
      android:layout_alignParentEnd="true" />
</RelativeLayout>

以下是 res/layout/custom_view.xml 文件的内容-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical" android:layout_width="match_parent"
   android:layout_height="match_parent">
   <TextView android:id="@+id/show_data"
      android:layout_width="fill_parent"
      android:layout_height="400dp"/>
</LinearLayout>

以下是 res/values/strings.xml 的内容,以定义两个新的常量-

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">My Application</string>
</resources>

以下是 AndroidManifest.xml 的默认内容-

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.learnfk7.myapplication">

   <application
      android:allowBackup = "true"
      android:icon = "@mipmap/ic_launcher"
      android:label = "@string/app_name"
      android:supportsRtl = "true"
      android:theme = "@style/AppTheme">
      <activity android:name = ".MainActivity">
         <intent-filter>
            <action android:name = "android.intent.action.MAIN" />
            <category android:name = "android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
      
      <activity android:name="com.example.learnfk7.myapplication.CustomActivity">

         <intent-filter>
            <action android:name = "android.intent.action.VIEW" />
            <action android:name = "com.example.learnfk7.myapplication.LAUNCH" />
            <category android:name = "android.intent.category.DEFAULT" />
            <data android:scheme = "http" />
         </intent-filter>

      </activity>
   </application>

</manifest>

在模拟器中执行结果下如:

Android Custom Activity

当点击 通过View 动作启动浏览器时,显示内容如下:

Android Two Activities

现在,如果您选择浏览器,则Android将启动Web浏览器并打开example.com网站,但是如果您选择Indent filter选项,则Android将启动CustomActivity,如下所示-

Android Custom Activity Runs

Android - Intents/Filters - 无涯教程网无涯教程网提供Android Intent 是要执行的操作的抽象描述。它可以与 startActivity 一起启动Activity...https://www.learnfk.com/android/android-intents-filters.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jq——点击显示隐藏来回切换、图片来回切换

案例展示 案例代码 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>显示隐藏</title></head><script src"js/jquery.js"></script><style>.switch {width: 50px;height: 50px;…

antd table minHeight

网上常见设置antd table最小宽度的方案&#xff1a; 这种方法也不是不可以&#xff0c;但是若需要动态设置最小高度的话&#xff0c;这样写就不是很合适。 所以这边选择动态计算table高度的方法来实现&#xff1a; 第一步&#xff1a;计算table scroll height const getTab…

「CSS|前端开发|页面布局」03 开发网站所需要知道的CSS:如何实现你想要的页面布局

本文主要介绍如何分析页面布局&#xff0c;了解HTML标签元素的默认布局以及如何修改标签元素的布局方式&#xff0c;最终能够结合CSS框架实现任意我们看到或者想到的页面布局。 文章目录 本系列前文传送门一、场景说明二、页面布局设计逻辑三、CSS布局编写逻辑HTML元素的默认布…

【附安装包】CorelCAD2023安装教程

软件下载 软件&#xff1a;CorelCAD版本&#xff1a;2023语言&#xff1a;简体中文大小&#xff1a;534.17M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.bai…

证券型代币成为新焦点!交易上链,合规也要上链?

“数字化正在使传统行业的边界变得模糊&#xff0c;这是一场真正的金融革命。”麦肯锡早在2017年的《在没有边界的世界中竞争》报告中就以此形容了数字化浪潮。随着对虚拟资产的全球接受度增加&#xff0c;监管机构也开始对其潜力展开讨论。 当代币被视为金融工具时&#xff0c…

java对时间序列每x秒进行分组

问题&#xff1a;将一个时间序列每5秒分一组&#xff0c;返回嵌套的list&#xff1b; 原理&#xff1a;int除int会得到一个int&#xff08;也就是损失精度&#xff09; 输入&#xff1a;排序后的list&#xff0c;每几秒分组值 private static List<List<Long>> get…

Yolov8-pose关键点检测:模型轻量化创新 | PConv结合c2f | CVPR2023 FasterNet

💡💡💡本文解决什么问题:新的partial convolution(PConv),通过同时减少冗余计算和内存访问可以更有效地提取空间特征。 PConv| GFLOPs从9.6降低至8.5,参数量从6482kb降低至6134kb, mAP50从0.921提升至0.925 Yolov8-Pose关键点检测专栏介绍:https://blog.csdn.n…

Centos7.9安装ElasticSearch6

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,同时也可以作为一个近实时的数据存储系统。接下来我们快速安装一个集群模式的ES. ## 1.安装JDK1.8 mv jdk-8u301-linux-x64.tar.gz /usr/local/ cd /usr/local/ …

深度学习——感受野以及与图像修复的问题

在CNN中&#xff0c;决定某一层输出结果中一个元素所对应的输入层的区域大小被称作感受野&#xff08;receptive field&#xff09;&#xff0c;指的是神经网络中一个神经元可以感知到的区域&#xff0c;在CNN中&#xff0c;即 上某个元素的计算受输入图像上影响的区域&#xf…

错误代码0x80131500要怎么解决?快速修复方法

错误代码0x80131500通常与.NET Framework 相关的问题有关。它可能表示.NET Framework的安装损坏、版本冲突或系统文件缺失等。下面我们一起来探讨一下解决错误代码0x80131500有哪些。 以下是一些解决方法 安装最新的.NET Framework版本&#xff1a;访问Microsoft官方网站&…

java ReentrantLock 锁 await、signal的用法

背景 在并发编程中&#xff0c;为了保证线程的原子执行&#xff0c;需要使用锁&#xff0c;jvm 内 可以使用 synchronized 和 ReentrantLock&#xff0c;如果是集群部署&#xff0c;我们可以使用Redis 分布式锁 其他的锁后面再介绍。 ReentrantLock 和 synchronized 1、Reent…

【93】PCI Expansion ROM

1、Expansion ROM PCIe、PCI设备可以提供Expansion ROM&#xff0c;Expansion ROM中存在设备初始化或者system boot的code。SystemBIOS在POST&#xff08;Power-on Self Test&#xff09;阶段&#xff0c;会枚举PCI设备&#xff0c;并判断有设备是否支持Expansion ROM&#xff…

贝锐蒲公英异地组网路由器如何设置虚拟串口功能?

蒲公英虚拟串口功能&#xff0c;可实现智能组网内的其它成员异地调试此串口&#xff0c;无需到现场进行调试&#xff0c;为企业降低运营成本、便捷掌控设备数据。 1. 蒲公英硬件设置串口 进入蒲公英云管理平台&#xff0c;点击【工业应用】->【串口设置】&#xff0c;开启…

23款奔驰S400商务型升级裸眼3D仪表盘,体验高配乐趣

3D驾驶员显示屏能帮助您密切留意该显示屏中的重要信息。驾驶辅助系统的警告图标和功能图标都有醒目的3D效果&#xff0c;能够立即引起驾驶员的注意。不仅如此&#xff0c;显示屏还能以出色的 3D 影像来显示车辆前方的汽车、卡车、客车和摩托车等车辆。

Spring Cloud Foundry上使用通配符模式匹配进行的安全绕过漏洞 CVE-2023-20873

文章目录 0.前言1.参考文档2.基础介绍描述如果满足以下任一条件&#xff0c;应用程序就不会有太大风险&#xff1a;受影响的Spring产品和版本 3.解决方案3.1. 升级版本3.2. 替代方案 0.前言 背景&#xff1a;公司项目扫描到 Spring Cloud Foundry上使用通配符模式匹配进行的安全…

Spring——Spring Boot基础

文章目录 第一个helloword项目新建 Spring Boot 项目Spring Boot 项目结构分析SpringBootApplication 注解分析新建一个 Controller大功告成,运行项目 简而言之&#xff0c;从本质上来说&#xff0c;Spring Boot 就是 Spring&#xff0c;它做了那些没有它你自己也会去做的 Spri…

博流RISC-V芯片BL616开发环境搭建

文章目录 1、工具安装2、代码下载3、环境变量配置4、下载交叉编译器5、编译与下载运行6、使用ninja编译 本文分别介绍博流RISC-V芯片 BL616 在 Windows和Linux 下开发环境搭建&#xff0c;本文同时适用BL618&#xff0c;BL602&#xff0c;BL702&#xff0c;BL808系列芯片。 1、…

Viobot输出数据说明

一.原始数据 1.ROS话题 1)相机原始图像数据 Type: sensor_msgs::Image Topic: 左目&#xff1a;/image_left 右目&#xff1a;/image_right 2&#xff09;imu数据 Type: sensor_msgs::Imu Topic: /imu 3&#xff09;TOF数据 点云数据&#xff1a; Type: sensor_msgs::P…

DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件

操作系统内核与云基础软件 鲲鹏软件构成硬件特定软件 鲲鹏软件构成硬件特定软件1. Boot Loader2. SBSA 与 SBBR3. UEFI4. ACPI 操作系统内核Linux系统调用Linux进程调度Linux内存管理Linux虚拟文件系统Linux网络子系统Linux进程间通信Linux可加载内核模块Linux设备驱动程序Linu…

警惕!10本“On Hold”期刊已被踢,仍有12本期刊被标记!

目录更新&#xff1a;2023年8月SCI、SSCI、ESCI期刊 2023年8月21日&#xff0c;科睿唯安更新了WOS期刊目录&#xff0c;此次8月更新中&#xff0c;有24本期刊发生更名或被剔除&#xff0c;其中有10本期刊曾被标记为“On Hold”状态&#xff0c;现已被踢出SCIE/ESCI数据库&…