728x90
실행결과입니다.
전체 코드입니다
manifest.xml에 추가할 코드 (uses-permission 아무거나 추가하시면 됩니다.)
<!-- 권한 선언 -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 저장 파일에 접근하기 위한 퍼미션 설정 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 애플리케이션이 외부 저장소에 읽을 수 있도록 허용. -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 카메라 장치에 접근하는데 필요한 권한 -->
<uses-permission android:name="android.permission.CAMERA" /> <!-- 애플리케이션이 네트워크 상태를 변경할 수 있도록 허용 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 애플리케이션이 전역 오디오 설정을 수정할 수 있도록 허용 -->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <!-- 애플리케이션이 오디오를 녹음할 수 있도록 허용 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 애플리케이션이 페어링된 블루투스 기기에 연결할 수 있도록 허용합니다. -->
<uses-permission android:name="android.permission.BLUETOOTH" /> <!-- 애플리케이션에 필요한 OpenGL ES 버전입니다 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 애플리케이션이 비디오 출력을 캡처하도록 허용합니다. -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
레이아웃 파일의 코드입니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:text="Uses-Permissions 출력"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Uses-Permissions 출력"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.543"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
</androidx.constraintlayout.widget.ConstraintLayout>
자바 코드입니다.
//user-permission 모두 가져와서 부여유무 확인하기 예제
public class MainActivity extends AppCompatActivity {
TextView 권한정보출력될창;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showManifestPermissions();
}
});
권한정보출력될창 = findViewById(R.id.textView2);
}
@TargetApi(Build.VERSION_CODES.M)
private String[] getManifestPermissions() {
if (Build.VERSION.SDK_INT< Build.VERSION_CODES.M) {
return new String[0];
}
PackageInfo info;
try {
info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_PERMISSIONS);
} catch (PackageManager.NameNotFoundException e) {
Log.w("TAG", "Failed to retrieve permissions.");
return new String[0];
}
if (info.requestedPermissions == null) {
Log.w("TAG", "No requested permissions.");
return new String[0];
}
else{
return info.requestedPermissions;
}
}
private void showManifestPermissions(){
String[] permissions = getManifestPermissions();
for(int i=0;i<permissions.length;i++){
String 권한정보 = 권한정보출력될창.getText().toString();
권한정보출력될창.setText(권한정보 + permissions[i] + "\n");
}
}
}
'안드로이드 자바' 카테고리의 다른 글
[Android][Java] 구글 맵에 현재 위치 표시하기 (6) | 2023.05.10 |
---|---|
[Android][JAVA] WorkerManager 사용해서 백그라운드 작업하기 (2) | 2023.05.06 |
[Android][JAVA] MPAndroidChart 라이브러리에서 xAxis 에 String 값 넣기 (0) | 2023.05.03 |
[Android][JAVA]간단한 텍스트뷰 자동완성 (0) | 2023.05.02 |
[Android][Java] Customize Line Chart (0) | 2023.04.29 |