Not alma, Android'in cihazlarda kullanıcı verimliliğini artıran temel bir özelliktir. cihazlardır. Not alma uygulamaları, kullanıcıların yazı yazmalarını ve eskizler çizmelerini sağlar ekrana geldiğinde, ekran içeriğini yakalayabilir ve açıklama ekleyebilir, ve daha sonra incelemek ve düzenlemek üzere notlarınızı kaydedebilirsiniz.
Kullanıcılar not alma uygulamalarına kilit ekranından veya başka
Not alma için ekran kalemi desteği olağanüstü bir kullanıcı deneyimi sağlar.
Notlar rolü
İlgili içeriği oluşturmak için kullanılan
RoleManager.ROLE_NOTES
rolü, not alma uygulamalarını tanımlar ve bu
LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE
izni gerekir.
Uygulamanıza not rolü eklemek için aşağıdakileri yapın:
isRoleAvailable()
numaralı telefonu arayın ve rolün durumunu kontrol edin.- Notlar rolü kullanılabiliyorsa
createRequestRoleIntent()
numaralı telefonu arayın amaçlarını öğrenmek için kullanırlar. startActivityForResult()
numaralı telefonu arayın kullanıcıya not rolü vermesini istemek amacıyla tasarlanan notlar uygulamasını indirin.
Yalnızca bir uygulama not rolüne sahip olabilir.
Uygulama, gizli bir uyarıya yanıt olarak açılır.
ACTION_CREATE_NOTE
intent işlemidir. Cihaz kilit ekranından çağrılırsa uygulama tam olarak açılır
ekran; Kayan bir pencerede, ekran kilidi açıkken çağrılırsa.
Uygulama manifesti
Not rolüne hak kazanmak için uygulamanızın aşağıdaki beyanı içermesi gerekir in the app manifest:
<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>
Bu beyan, kullanıcıların uygulamanıza not rolünü atamasına olanak tanır. varsayılan not alma uygulaması:
ACTION_CREATE_NOTE
Uygulamanızın yanıt verdiği intent işlemini belirlershowWhenLocked
Uygulamanızı cihaz kilit ekranından erişilebilir hale getirirturnScreenOn
, Uygulama çalışırken cihaz ekranını açmak için uygulamanız
Uygulama özellikleri
Büyük ekran farklı not alma uygulaması, aradığınız her şeyi kapsamlı bir şekilde ele alacağız.
Ekran kalemi desteği
Uygulamanız
EXTRA_USE_STYLUS_MODE
intent ekstra true
olarak ayarlandıysa uygulama, ekran kalemini kabul eden bir not (veya
parmak hareketiyle) giriş yapın.
Ekstra intent false
olarak ayarlanırsa uygulamanız şunu kabul eden bir not açar:
klavye girişi'ne dokunun.
Kilit ekranı erişimi
Uygulamanız, etkinken çalışan tam ekran etkinlik sağlamalıdır. cihazın kilit ekranından açabilirsiniz.
Kullanıcı izin vermişse uygulamanızda yalnızca geçmiş notları gösterilmelidir ( cihaz durumu) eski notların gösterilmesini sağlar. Aksi halde, kilit ekranını seçerseniz uygulamanız her zaman yeni bir not oluşturur.
Uygulamanızın kilit ekranından başlatılıp başlatılmadığını görmek için
KeyguardManager#isKeyguardLocked()
.
Kullanıcıdan cihaz kimliğini doğrulamasını ve cihazın kilidini açmasını istemek için şu numarayı arayın:
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. }
} )
Kayan pencereler
Bağlama dayalı not almak için, uygulamanızın çalışan bir kayan penceredir.
Uygulamanız şunları desteklemeli:
multi-instance
bu mod, kullanıcıların birden çok kayan pencerede not oluşturabilmeleri için bile
Not alma uygulamanız tam ekran modunda veya bölünmüş ekranda başlatıldığında
yatırım yapmanız önemlidir.
İçerik yakalama
İçerik yakalama, not alma uygulamalarının temel özelliklerinden biridir. İçeriğe sahip Kullanıcılar not alma sırasında ekranın görüntüsünü alabilir uygulamanın kayan penceresi. Kullanıcılar, ekranın tamamını veya bir kısmını yakalayabilir, içeriği notlarına ekleyebilir ve yakalanan içeriğe ek açıklama ekleyebilir ya da bunları vurgulayabilir.
Not alma uygulamanız,
ActivityResultLauncher
oluşturan:
registerForActivityResult()
.
İlgili içeriği oluşturmak için kullanılan
ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE
intent işlemi, başlatıcıya doğrudan veya bir
ActivityResultContract
.
Bir sistem etkinliği içeriği yakalar, cihaza kaydeder ve
registerForActivityResult()
Aşağıdaki örnekte genel bir
StartActivityForResult
sözleşme:
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")} }
Uygulamanız tüm sonuç kodlarını işlemelidir:
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
İçerik yakalama başarılı olduğunda, yakalanan görüntüyü nota yapıştırın. örnek:
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. } }
İçerik yakalama özelliği, yalnızca şu durumlarda kullanıcı arayüzü desteğiyle kullanıcılara gösterilmelidir: not alma uygulamanız kayan bir pencerede çalışıyorsa tam ekran çalışıyor. Bu cihaz kilit ekranından başlatılır. (Kullanıcılar not alma uygulamasının cihazın ekran görüntüsüyle birlikte ekran görüntüleri özellikleri hakkında daha fazla bilgi edinin.)
Uygulamanızın kayan pencerede (veya balonda) olup olmadığını belirlemek için aşağıdaki yöntemleri kullanabilirsiniz:
isLaunchedFromBubble()
kontrol ederek, not alma uygulamanızın şu ana kadar tam ekran başlatılıp başlatılmadığını cihaz kilit ekranıisRoleHeld(RoleManager.ROLE_NOTES)
uygulamanızın varsayılan not alma uygulaması olduğunu doğrulamak için (uygulamanız uygulama not rolü)