我试图允许我的应用程序与另一个名为“macrodroid”的应用程序共享一些纯文本。由于目标应用程序始终相同,我不希望用户每次都必须手动选择应用程序,因此我想知道是否可以在用户无需选择的情况下发送文本。我自己找不到解决方案,在网上搜索时,它们似乎都需要用户输入。
这是我到目前为止所拥有的,但正如我所说,这迫使用户选择一个应用程序
val sintent = Intent(Intent.ACTION_SEND)
sintent.putExtra(Intent.EXTRA_TEXT, "variable to share text to macrodroid here")
sintent.setType("text/plain")
startActivity(sintent)
使用以下功能。
fun shareTextToApp(context: Context, text: String, packageName: String) {
// Create the intent
val intent = Intent(Intent.ACTION_SEND)
intent.type = "text/plain"
intent.putExtra(Intent.EXTRA_TEXT, text)
// Set the target app's package name
intent.setPackage(packageName)
// Verify that the app is installed and can handle the intent
if (intent.resolveActivity(context.packageManager) != null) {
context.startActivity(intent)
} else {
Toast.makeText(context, "App not installed", Toast.LENGTH_SHORT).show()
}
}