메모는 휴대전화에서 사용자 생산성을 향상하는 Android의 핵심 기능입니다. 대형 화면 기기에서 메모 작성 앱을 통해 사용자는 글을 쓰고 스케치할 수 있습니다. 플로팅 창 또는 전체 화면에서 화면 콘텐츠를 캡처하고 주석을 추가할 수 있습니다. 나중에 검토 및 수정할 수 있도록 메모를 저장합니다.
사용자는 잠금 화면에서 또는 다른 앱을 실행하는 동안 메모 앱에 액세스할 수 있습니다. 있습니다.
메모 작성에 스타일러스를 지원함으로써 탁월한 사용자 환경을 제공합니다.
메모 역할
이
RoleManager.ROLE_NOTES
드림
메모 작성 앱을 식별하고
LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE
권한을 부여했는지 확인합니다.
앱이 메모 역할을 획득하려면 다음 단계를 따르세요.
isRoleAvailable()
를 호출합니다. 역할 상태를 확인할 수 있습니다- 메모 역할을 사용할 수 있는 경우
createRequestRoleIntent()
를 호출합니다. 메모별 인텐트를 가져올 수 있습니다. startActivityForResult()
를 호출합니다. 해당 권한이 필요한 사용자에게 메모 역할을 있습니다.
하나의 앱만 메모 역할을 받을 수 있습니다.
앱이 암시적인
ACTION_CREATE_NOTE
드림
인텐트 작업입니다. 기기 잠금 화면에서 호출하면 앱이 완전히 열립니다.
화면 화면이 잠금 해제된 상태에서 플로팅 창에서 호출됩니다.
앱 매니페스트
메모 역할을 사용하려면 앱에 다음 선언이 포함되어야 합니다. 를 추가하는 것입니다.
<activity
android:name="YourActivityName"
android:exported="true"
android:showWhenLocked="true"
android:turnScreenOn="true">
<intent-filter>
<action android:name="android.intent.action.CREATE_NOTE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
선언을 통해 사용자는 앱에 메모 역할을 할당하여 기본 메모 작성 애플리케이션인
ACTION_CREATE_NOTE
드림 앱이 응답하는 인텐트 작업을 설정합니다.showWhenLocked
드림 기기 잠금 화면에서 앱에 액세스할 수 있도록 설정turnScreenOn
를 사용하면 앱이 실행될 때 기기 화면을 켜도록 설정할 수 있습니다.
앱 기능
대형 화면 차별화 메모 작성 앱으로 완벽한 보완 기능을 제공합니다. 다양한 기능을 제공합니다
스타일러스 지원
앱이
EXTRA_USE_STYLUS_MODE
드림
추가 인텐트가 true
로 설정된 경우 앱은 스타일러스 (또는
손가락 터치) 입력을 사용합니다.
추가 인텐트가 false
로 설정된 경우 앱은
키보드 입력.
잠금 화면 액세스
앱은 앱이 실행될 때 실행되는 전체 화면 활동을 제공해야 합니다. 이(가) 기기 잠금 화면에서 열립니다.
사용자가 동의한 경우( 이전 메모를 표시하는 데 사용됩니다. 또는 앱이 항상 새 메모를 만들어야 합니다.
다음 명령어를 사용하여 잠금 화면에서 앱이 실행되었는지 확인할 수 있습니다.
KeyguardManager#isKeyguardLocked()
사용자에게 기기를 인증하고 잠금 해제하도록 요청하려면
KeyguardManager#requestDismissKeyguard()
:
val keyguardManager =
getSystemService(KEYGUARD_SERVICE) as KeyguardManager
keyguardManager.requestDismissKeyguard( this, object :
KeyguardDismissCallback() { override fun onDismissError() { // Unlock failed.
Dismissing keyguard is not feasible. } override fun onDismissSucceeded() { //
Unlock succeeded. Device is now unlocked. } override fun onDismissCancelled()
{ // Unlock failed. User cancelled operation or request otherwise cancelled. }
} )
플로팅 창
상황별 메모 작성을 위해 앱은 플로팅 창으로 표시됩니다.
앱에서
multi-instance
드림
사용할 수 있습니다.
메모 앱이 전체 화면 또는 화면 분할로 실행될 때
있습니다.
콘텐츠 캡처
콘텐츠 캡처는 메모 앱의 핵심 기능입니다. 콘텐츠 포함 사용자는 메모 뒤에 있는 화면의 스크린샷을 찍을 수 있습니다. 앱의 플로팅 창을 표시합니다. 사용자는 디스플레이의 전체 또는 일부를 캡처하고 추가하고 캡처된 콘텐츠에 주석을 달거나 강조 표시합니다.
메모 작성 앱은 메모 작성 앱을 실행하는 UI 어포던스를
ActivityResultLauncher
드림
만든 사람
registerForActivityResult()
이
ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE
드림
인텐트 작업은 직접 또는
ActivityResultContract
시스템 활동이 콘텐츠를 캡처하여 기기에 저장하고
앱의 콜백 인수에
registerForActivityResult()
다음 예에서는 일반
StartActivityForResult
드림
계약:
private val startForResult =
registerForActivityResult( ActivityResultContracts.StartActivityForResult()) {
result: ActivityResult -> if (result.resultCode ==
Intent.CAPTURE_CONTENT_FOR_NOTE_SUCCESS) { val uri = result.data?.data // Use
the URI to paste the captured content into the note. } } override fun
onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
setContent { NotesTheme { Surface(color =
MaterialTheme.colorScheme.background) { CaptureButton( onClick = {
Log.i("ContentCapture", "Launching intent...")
startForResult.launch(Intent(ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE))
}) } } } } @Composable fun CaptureButton(onClick: () -> Unit) {
Button(onClick = onClick)
{Text("Capture Content")} }
앱은 모든 결과 코드를 처리해야 합니다.
CAPTURE_CONTENT_FOR_NOTE_SUCCESS
CAPTURE_CONTENT_FOR_NOTE_FAILED
CAPTURE_CONTENT_FOR_NOTE_USER_CANCELED
CAPTURE_CONTENT_FOR_NOTE_WINDOW_MODE_UNSUPPORTED
CAPTURE_CONTENT_FOR_NOTE_BLOCKED_BY_ADMIN
콘텐츠 캡처에 성공하면 캡처된 이미지를 메모에 붙여넣습니다. 예:
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
result: ActivityResult -> if (result.resultCode ==
Intent.CAPTURE_CONTENT_FOR_NOTE_SUCCESS) { val uri = result.data?data // Use
the URI to paste the captured content into the note. } }
콘텐츠 캡처 기능은 다음과 같은 경우에만 UI 어포던스를 통해 노출되어야 합니다. 메모 앱이 플로팅 창에서 실행되고 있을 때 전체 화면으로 실행 중, 기기 잠금 화면에서 실행됨 (사용자는 기기 스크린샷이 있는 메모 앱 자체의 스크린샷 없습니다.)
앱이 플로팅 창 (또는 도움말 풍선)에 있는지 확인하려면 다음을 호출합니다. 다음 메서드를 참조하세요.
isLaunchedFromBubble()
드림 다음 위치에서 메모 작성 앱이 전체 화면으로 실행되지 않았는지 확인합니다. 기기 잠금 화면isRoleHeld(RoleManager.ROLE_NOTES)
드림 앱을 사용하여 앱이 기본 메모 앱인지 확인합니다 (앱은 대화나 다른 유형의 대화창에서 실행되는 것을 메모 역할)