当前位置: 首页 > wzjs >正文

西安活动策划执行公司三门峡网站seo

西安活动策划执行公司,三门峡网站seo,旅游网站怎样做网络宣传,做网站需要知道什么Android 点击按钮调用竖屏二维码扫描 提示:zxing-android-embedded插件已过时,建议更换别的。 场景:Home页面上有个扫描按钮,点击后打开摄像头完成扫描功能,扫描时要求竖屏。 方案:使用zxing-android-embe…

Android 点击按钮调用竖屏二维码扫描

提示:zxing-android-embedded插件已过时,建议更换别的。
场景:Home页面上有个扫描按钮,点击后打开摄像头完成扫描功能,扫描时要求竖屏。
方案:使用zxing-android-embedded插件,新建独立的activity,设置为竖屏。

1. 添加依赖

在 app 的 build.gradle 中添加:

dependencies {implementation 'com.journeyapps:zxing-android-embedded:4.3.0'implementation 'androidx.appcompat:appcompat:1.4.1'
}

2. 创建自定义竖屏扫描 Activity

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.journeyapps.barcodescanner.CaptureActivity;/*** 自定义竖屏扫描Activity*/
public class VerticalScannerActivity extends CaptureActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 可以在这里添加自定义布局或样式// 默认情况下会使用库自带的竖屏布局}
}

3. 在 AndroidManifest.xml 中声明

<application><!-- 相机权限 --><uses-permission android:name="android.permission.CAMERA" /><!-- 自定义扫描Activity --><!-- 强制竖屏 --><activityandroid:name=".VerticalScannerActivity"android:screenOrientation="portrait"/>
</application>

4. 创建按钮布局 (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"android:gravity="center"tools:context=".MainActivity"><Buttonandroid:id="@+id/btn_scan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="扫描二维码"android:textSize="18sp"android:padding="16dp"/>
</LinearLayout>

5. 实现 MainActivity

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;public class MainActivity extends AppCompatActivity {private static final int SCAN_REQUEST_CODE = 1001;private TextView tvResult;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btnScan = findViewById(R.id.btn_scan);tvResult = findViewById(R.id.tv_result);btnScan.setOnClickListener(v -> startQrScanner());}private void startQrScanner() {// 创建扫描器实例IntentIntegrator integrator = new IntentIntegrator(this);// 配置扫描参数// integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE); // 只扫描QR码integrator.setPrompt("将二维码放入框内扫描"); // 提示文字integrator.setCameraId(0); // 使用后置摄像头integrator.setBeepEnabled(false); // 关闭提示音integrator.setBarcodeImageEnabled(false); // 不保存扫描图片// integrator.setOrientationLocked(true); // 锁定竖屏integrator.setCaptureActivity(VerticalScannerActivity.class); // 使用自定义竖屏Activity// 启动扫描integrator.initiateScan();}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);// 处理扫描结果IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);if (result != null) {if (result.getContents() == null) {Toast.makeText(this, "扫描已取消", Toast.LENGTH_SHORT).show();} else {// 显示扫描结果tvResult.setText("扫描结果: " + result.getContents());}}}
}

6. 配置方法

方法 说明
setDesiredBarcodeFormats(String... formats) 设置要扫描的条码类型
setPrompt(String prompt) 设置提示文字
setCameraId(int cameraId) 设置摄像头ID (0=后置, 1=前置)
setBeepEnabled(boolean enabled) 设置扫描成功时是否播放提示音
setBarcodeImageEnabled(boolean enabled) 设置是否保存扫描的条码图片
setOrientationLocked(boolean locked) 是否锁定屏幕方向
setCaptureActivity(Class<?> captureActivity) 设置自定义扫描Activity
setTimeout(long timeout) 设置超时时间(毫秒)
setTorchEnabled(boolean enabled) 是否启用手电筒功能
addExtra(String key, Object value) 添加额外参数

7. 特点说明

  1. 强制竖屏:通过 android:screenOrientation="portrait" 确保扫描界面保持竖屏
  2. 简洁集成:使用 IntentIntegrator 简化扫描流程
  3. 结果处理:在 onActivityResult 中处理扫描结果
  4. 自定义界面:可以通过继承 CaptureActivity 进一步自定义扫描界面
  5. 权限处理:包含完整的运行时权限处理逻辑
http://www.dtcms.com/wzjs/204878.html

相关文章:

  • 仓山网站建设北京优化seo排名
  • 古典网站建设公司做网页的网站
  • 陈木胜怎么走的seo网站排名优化服务
  • 关于企业网站建设的必要性bt kitty磁力猫
  • 网站设计作业平台全网模板建站系统
  • 谷歌推广网站建设淘宝seo
  • 域名可以同时做邮箱和网站么怎么设计网站
  • 建设众筹网站seo网络搜索引擎优化
  • vultr服务器做网站怎么做互联网营销推广
  • 纷享销客crm管理系统搜索引擎关键词优化
  • 什么是静态页面网站网站优化排名服务
  • 网页设计网站建设财经新闻最新消息
  • 庄河做网站软文推广渠道主要有
  • 德阳响应式网站建设app推广方法及技巧
  • 申请收费网站空间湖南企业竞价优化首选
  • 石家庄响应式模板建站信息服务平台有哪些
  • 自己做网站都要什么中国广告网
  • 深圳网站搭建哪里找深圳优化公司样高粱seo
  • 新手如何给自己的网站做优化成都网站优化平台
  • 国外优秀网站设计线上营销推广方式
  • 教育网站制作哪专业廊坊seo整站优化软件
  • 校园二手物品交易网站开发背景网站建站方式有哪些
  • 大连免费模板建站管理培训班
  • 百姓网招聘信息最新招聘关键字排名优化公司
  • 做网站的参考文献搜索引擎国外
  • 泰安市两学一做网站会计培训班多少钱
  • 自己的网站怎么做进销存营销推广的特点
  • 网站建设丨金手指谷哥12小红书推广引流软件
  • 长春网站建设设计seo网络营销公司
  • 网站产品页排名怎么做黑龙江新闻头条最新消息