gpt4 book ai didi

Android:启动 Intent 并发送 key

转载 作者:行者123 更新时间:2023-11-29 00:26:50 24 4
gpt4 key购买 nike

如何将按键事件发送到刚启动的 Activity?

我想发送我可以使用:

Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(KeyCode);

但它给了我(在 UI 线程或新线程中运行时):

java.lang.RuntimeException: This method can not be called from the main application thread

我必须在哪个线程上调用 sendKeyDownUpSync()

以下是我启动 Activity 的方式:

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

最佳答案

在此站点上有人解决了这个问题(将关键事件发送到外部 Activity ): http://www.pocketmagic.net/2012/04/injecting-events-programatically-on-android/#.Ui81ddyg2f0

简而言之:使用 Android API(官方和内部),操作系统禁止将关键事件发送到其他应用程序的 Activity 。但是,您可以在 Linux 操作系统级别执行此操作。不过,要使其正常工作,您将需要 root 访问权限。

关于Android:启动 Intent 并发送 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18711984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com