Java(자바)안드로이드
[android/java] startActivityForResult deprecated, ActivityResultLauncher 으로 대체
개발자 고포고
2022. 2. 21. 14:26
반응형
[android/java] startActivityForResult deprecated, ActivityResultLauncher 으로 대체
startActivityForResult deprecated를 통하여, 더이상 활용하지 못한다.
대체 방식으로 ActivityResultLauncher을 사용하면된다.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Intent 호출 영역
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
//startActivityForResult 대체
mStartForResult.launch(intent);
}
// launcher 선언
ActivityResultLauncher<Intent> mStartForResult = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
//result.getResultCode()를 통하여 결과값 확인
if(result.getResultCode() == RESULT_OK) {
//ToDo
}
if(result.getResultCode() == RESULT_CANCELED){
//ToDo
}
}
);
}
#ActivityResultLauncher #startActivityForResult deprecated #startActivityForResult #deprecated #onRequestPermissionsResult #android #java
반응형