안드로이드 개발하다보면 권한을 건들어야할 때가 있다..
근데 앱 위에 다른 앱 띄우기 관련은 권한이 아니라 setting 이여서
permissionBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())), OVERLAY_PERMISSION_REQUEST_CODE);
}
});
이렇게 requestcode를 임의로 아무거나 세팅해서 해서 startActivityForResult 해야하고 처리는 아래와 같이 해야한다.
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == OVERLAY_PERMISSION_REQUEST_CODE) {
if (Settings.canDrawOverlays(this)) {
Toast.makeText(getApplicationContext(), "Permission granted!", Toast.LENGTH_LONG).show();
startActivity(new Intent(PermisionActivity.this, MainActivity.class));
finish();
} else {
showContextInDialog();
}
}
}
첨엔 앱 위에 다른 앱 띄우기가 권한인줄 알고 onRequestPermissionsResult으로 작업했는데 아니였다는...
머쓱타드~
'Android > Technic' 카테고리의 다른 글
삼항 연산자 (0) | 2021.08.09 |
---|---|
Android에서 밝기 조절 (Programmatically) (0) | 2021.08.03 |
Intent에 Requestcode 붙힐때 생길 수 있는 에러 (0) | 2021.07.24 |
Android _blank 처리 (2) | 2021.07.06 |
Android WebView에서 History Back 만들기 (2) | 2021.07.06 |
댓글