java - 如何在 ActivityResultLauncher 中返回结果
问题描述
我正在使用 ZXing API。
我有以下代码:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setCameraId(0);
integrator.setOrientationLocked(true);
integrator.setPrompt("Para usar o flash utilizar os botões do volume");
integrator.initiateScan();
但是,我不知道如何使用 ActivityResultLauncher mGetContent = registerForActivityResult(new ActivityResultContracts.GetContent() 发布initialScan。
请你帮助我好吗?亲切的问候,
解决方案
我加:
ActivityResultLauncher<Intent> activityResultLaucher;
activityResultLaucher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
if(result.getResultCode() == RESULT_OK && result.getData() != null){
Intent data = result.getData();
}
}
});
和:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setCameraId(0);
integrator.setOrientationLocked(true);
integrator.setPrompt("Para usar o flash utilizar os botões do volume");
integrator.initiateScan();
ActivityResultLauncher.launch(integrator);
}
});
但是 ActivityResultLauncher.launch(integrator) 不起作用。
推荐阅读
- mysql - MySQL在分层列表中查找所有ID
- python - 所有日期的 Pandas df sum groupby 列
- php - 表中不存在 Laravel 验证
- c# - 使用 cookie 重定向的 WebRequest 不起作用(Windows Build 15063)
- java - 包 io.tus.java.client 不存在
- ruby-on-rails - 根据属性名称从数组中删除 ActiveRecord::AssociationRelation 实例
- c# - 使用来自 yii2 的数据进行 C# AES 加密解密
- r - R用if语句改变多列
- azure - 如何部署 Comsos Db 存储过程
- objective-c - 使用 CXEndCallAction 请求 Callkit 事务后显示调用失败的 UI