@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case BleService.CODE_DISCOVERABLE: // 否是0 Log.d(TAG, "onActivityResult: 蓝牙检测开启结果" + resultCode); if (resultCode > 0) { // 执行蓝牙搜索 startSearch(); } else { // 选择了否,不需要多余的提示 //failed(); } break; default: break; } }
时间: 2024-02-10 18:34:51 浏览: 99
这是一个Android应用程序中的onActivityResult方法。在该方法中,根据requestCode来处理返回的结果。在此代码中,当requestCode为BleService.CODE_DISCOVERABLE时,根据resultCode的值来判断是否成功打开了蓝牙,如果成功则执行startSearch方法,否则不进行任何操作。该方法的作用是处理调用startActivityForResult方法时返回的结果,通常用于与其他Activity交互。
相关问题
tp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(intent,100); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode==100 && data!=null){ try { InputStream inputStream = getContentResolver().openInputStream(data.getData()); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); File file = new File("data/data/com.bawei.app2/image.jgp"); if (!file.exists()){ file.createNewFile(); } BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file)); bitmap.compress(Bitmap.CompressFormat.JPEG,20,bufferedOutputStream); message = JMessageClient.createSingleImageMessage(username,appkey,file); send(); } catch (Exception e) { e.printStackTrace(); } } }
这段代码是关于Android开发中的图片上传功能。当用户点击tp按钮时,会弹出系统的文件选择器,让用户选择一张图片。选择完成后,会返回到当前Activity的onActivityResult方法中,将选择的图片文件保存到本地的data/data/com.bawei.app2/image.jgp路径下,并将该文件作为参数,创建一个JMessageClient的单聊图片消息message对象,然后调用send()方法发送给指定的聊天对象。其中,JMessageClient是一款IM即时通讯SDK,用于实现聊天功能。
android 在fragment中调用public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data)方法,为什么方法不被执行
在 Fragment 中使用 `onActivityResult()` 方法时,需要注意以下几点:
1. 必须在 Fragment 所依赖的 Activity 中调用 `startActivityForResult()` 方法启动新的 Activity,否则 `onActivityResult()` 方法将不会被调用。
2. 在 Fragment 中使用 `startActivityForResult()` 方法启动新的 Activity 时,需要使用 Fragment 的 `startActivityForResult()` 方法来启动新的 Activity。
3. 确保在 Fragment 中调用了 `setUserVisibleHint()` 方法,并将其设置为 true,以确保 Fragment 可见并且可以接收 onActivityResult() 回调。
4. 确保 requestCode 是在 Fragment 中唯一的,避免与 Activity 或其他 Fragment 中的 requestCode 冲突。
如果以上步骤都正确,但是 `onActivityResult()` 方法仍然没有被执行,可以尝试在 Fragment 中重写 `onActivityResult()` 方法,并在方法中调用 `super.onActivityResult()` 方法。例如:
```
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// your code
}
```
如果还是没有解决问题,可以尝试在 Activity 的 `onActivityResult()` 方法中调用 `super.onActivityResult()` 方法,以确保 Fragment 中的 `onActivityResult()` 方法被正确调用。例如:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// your code
}
```
希望能帮助到你解决问题。
阅读全文