我想编辑 startActivityForResult 的外观

I want to edit the look of startActivityForResult

我的应用启动默认的 android 相机。但是,我在编辑 startActivityForResult 的外观时遇到问题。我只想将字符串 onStartActivityForResult 的按钮更改为绿色和红色的按钮,其中没有刺痛或文字。

我试过自动绕过这个方法,通过setResult(RESULT_OK, intent)将结果设置为"OK";但这似乎不起作用。我不介意相机拍照并在不启动 startActivityForResult 方法的情况下启动到下一个屏幕。

底线我想将默认按钮更改为其他按钮...任何想法。提前致谢!!!

 public void takePhoto(View v) {

    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");

    photo= new File(Environment.getExternalStorageDirectory() + boo + "/patient.jpg");

    imageUri = Uri.fromFile(photo);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    startActivityForResult(intent, TAKE_PICTURE);

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if (resultCode == Activity.RESULT_OK) {
        Toast p = Toast.makeText(this, "code: " + resultCode, Toast.LENGTH_LONG);
        p.show();
        Intent intent2 = new Intent(NewPatient.this,PatientName.class);
        startActivity(intent2);
    }
}

我认为你做不到。您可以创建自己的 activity 以通过相机捕捉图像,但您无法更改应用程序在向它们发送意图后的行为方式。

不知道我的回答是不是你想要的...

1.I 猜猜你可以访问 onActivityResult 中的按钮对象,如果它是调用者 activity。

2.You 可以为您的意图添加参数。 How to start an Intent by passing some parameters to it?

注意: 如果从其他线程访问 UI 线程时出错。 看到这个 https://developer.android.com/training/multiple-threads/communicate-ui.html

IMAGE_CAPTURE 意图启动另一个应用程序。通常是设备附带的相机应用程序,但用户可以选择安装更多相机应用程序,并决定使用其中任何一个来实现目的。

您完全无法控制其他应用程序的外观。它甚至可能决定不打开相机设备。

如果你关心,你应该实现你自己的自定义相机 activity。