開始したばかりのアクティビティにキー イベントを送信するにはどうすればよいですか?
私は使用できる送信のために考えました:
Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(KeyCode);
しかし、それは私に与えます(UIスレッドまたは新しいスレッドで実行している場合):
java.lang.RuntimeException: このメソッドは、メイン アプリケーション スレッドから呼び出すことはできません
どのスレッドで呼び出す必要がありますsendKeyDownUpSync()
か?
アクティビティを起動する方法は次のとおりです。
public void openWhatsappConversation(String whatsappid) {
whatsappid = "4917012345678@s.whatsapp.net";
Cursor c = getContentResolver().query(
ContactsContract.Data.CONTENT_URI,
new String[] { ContactsContract.Contacts.Data._ID },
ContactsContract.Data.DATA1 + "=?",
new String[] { whatsappid }, null);
c.moveToFirst();
Intent whatsapp = new Intent(Intent.ACTION_VIEW,
Uri.parse("content://com.android.contacts/data/"
+ c.getString(0)));
whatsapp.putExtra(Intent.EXTRA_TEXT, "whatsapp");//
c.close();
if (whatsapp != null) {
startActivity(whatsapp);
} else {
Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT)
.show();
// download for example after dialog
Uri uri = Uri.parse("market://details?id=com.whatsapp");
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
}
}
権限が必要です: android.permission.READ_CONTACTS