提问人:Chris972 提问时间:7/27/2022 更新时间:7/27/2022 访问量:579
将参数传递给 ActivityResultContracts.StartActivityForResult 始终默认
passing parameter to ActivityResultContracts.StartActivityForResult always default
问:
我正在尝试传递 ActivityResultContracts.StartActivityForResult() 的参数,但它始终为 null (getParcelableExtra) 或默认值 (getIntExtra)。我不明白我做错了什么。
ActivityResultLauncher<Intent> activityResultLauncher;
protected void onCreate(Bundle savedInstanceState) {
activityResultLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
if (result.getResultCode() == Activity.RESULT_OK && result.getData() != null) {
Log.v(Consts.TAG, "result : " + result.getData().getIntExtra("code", -1));
}
});
imgButtonGal.setOnClickListener(view -> {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
Integer code = 111;
intent.putExtra("code", code);
activityResultLauncher.launch(intent);
});
我总是得到:
result : -1
(代码只是一个例子,请不要关注意图类型)
答: 暂无答案
评论
Intent
Intent
Intent
ACTION_PICK
code
Bundle