Mulai dari versi gambar Cloud Phone 25.07, Cloud Phone mendukung penggunaan metode input lokal Anda. Dalam beberapa skenario, hal ini memberikan pengalaman mengetik yang lebih baik dibandingkan metode input bawaan Cloud Phone. Panduan ini berlaku untuk Edisi Matrix Cloud Phone.
Perbandingan metode input
Metode input lokal adalah metode input yang diinstal pada perangkat lokal tempat Anda menjalankan klien Alibaba Cloud Workspace atau menggunakan SDK untuk mengakses layar Cloud Phone. Input yang Anda ketik pada perangkat lokal akan diproses dan ditampilkan di instans Cloud Phone.
Metode input lokal dan metode input bawaan Cloud Phone masing-masing memiliki kelebihan dan kekurangan serta cocok untuk berbagai kasus penggunaan. Tabel berikut membandingkan keduanya.
|
Item perbandingan |
Metode input bawaan Cloud Phone |
Metode input lokal |
|
|
Kelebihan |
|
|
|
|
Kekurangan |
|
|
|
Pengalihan metode input
Alihkan metode input sesuai kebutuhan. Metode berikut berlaku untuk Edisi Matrix Cloud Phone.
ADB
Pengaturan awal
Saat instans Cloud Phone pertama kali dibuat, Anda perlu mengaktifkan metode input bawaan Cloud Phone.
adb shell settings put secure enabled_input_methods "com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME:com.wuying.wyime/.PseudoImeService"
Beralih ke metode input lokal
adb shell ime set com.wuying.wyime/.PseudoImeService
Beralih ke metode input bawaan
Contoh ini menggunakan metode input Gboard pra-instal pada Cloud Phone. Anda dapat menggantinya dengan metode input lain.
adb shell ime set com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
Web SDK
Dapatkan SDK terbaru (untuk mendukung metode input lokal) dan demonya. Untuk informasi selengkapnya, lihat Web SDK.
-
Tentukan parameter berikut saat melakukan koneksi.
config.useCustomIme=true -
Kemudian, ikuti prosedur koneksi standar. Untuk detailnya, rujuk demo tersebut.
Android SDK
Untuk mengaktifkan metode input lokal di Android SDK, dengarkan callback status koneksi dari ASP Engine sebelum StreamView terhubung. Lalu, dalam callback koneksi berhasil, aktifkan metode input lokal.
Dapatkan SDK terbaru (untuk mendukung metode input lokal) dan demonya. Untuk informasi selengkapnya, lihat Android SDK.
@Override
public void onCreate() {
super.onCreate();
IASPEngineListener listener = new IASPEngineListener() {
@Override
public void onConnectionSuccess(int connectionId) {
mStreamView.getASPEngineDelegate().setImeType(ASPIMEType.ASP_IME_TYPE_LOCAL);
mStreamView.shouldProactivelyShowIME(true);
}
/* Catatan: Anda juga harus mengimplementasikan antarmuka lainnya. */
}
StreamView streamView = findViewById(R.id.stream_view);
streamView.getASPEngineDelegate().registerASPEngineListener(listener);
/* Prosedur onCreate lainnya */
}
Windows SDK
Karena Windows tidak memiliki kerangka kerja aplikasi antarmuka pengguna grafis (GUI) yang terpadu, Windows SDK hanya menyediakan callback status dasar dan antarmuka upstream. Anda harus mengimplementasikan logika interaksi metode input sendiri selama integrasi.
Menggunakan metode input lokal di Windows melibatkan langkah-langkah berikut:
-
Implementasikan objek AspIme untuk menerima callback
onImeFocusUpdate. -
Saat membuat AspClient, panggil
setAspImeuntuk mendaftarkan objek AspIme. -
Saat
onImeFocusUpdate(true, false)dipanggil, aktifkan metode input untuk kerangka kerja UI yang sesuai. -
Saat
onImeFocusUpdate(false, false)dipanggil, sembunyikan metode input untuk kerangka kerja UI yang sesuai. -
Saat metode input mengirim karakter, panggil metode
AspClient::setImeCommituntuk mengirimkan input tersebut.
Kerangka kerja GUI yang berbeda menggunakan antarmuka berbeda untuk berinteraksi dengan metode input. Berikut adalah antarmuka untuk kerangka kerja umum:
-
Kerangka kerja Qt
-
Untuk mengaktifkan metode input:
setAttribute(Qt::WA_InputMethodEnabled, true); -
Untuk mendapatkan konten input: Gunakan callback
void inputMethodEvent(QInputMethodEvent *event) override;.
-
-
Kerangka kerja WPF
-
Untuk mengaktifkan metode input: Implementasikan
System.Windows.Interop.IKeyboardInputSink. -
Untuk mendapatkan konten input: Implementasikan
public bool TranslateChar(ref MSG msg, ModifierKeys modifiers);.
-