[英]How to create interaction between two android applications
I have 2 applications with their source codes. 我有两个源代码应用程序。 When I press button in application one, I need to background "press" button in application 2 (start specific action from it, not MainActivity).
当我在应用程序一中按下按钮时,我需要在应用程序2中按下“按下”按钮(从它开始特定操作,而不是MainActivity)。 So, for example, do command like
所以,例如,做命令就像
send "press_button2" -> APP2
What is the best way to do it? 最好的方法是什么?
That's quite a generic question but you'll have to use an implicit intent from your "APP1" and read the intent action in your "APP2". 这是一个非常通用的问题,但您必须使用“APP1”中的隐含意图并阅读“APP2”中的意图操作。 The steps will be:
步骤将是:
val sendIntent: Intent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, "press_button2")
type = "text/plain"
}
startActivity(sendIntent)
<activity android:name="ClickActivity">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>
@SuppressLint("MissingSuperCall")
override fun onCreate(savedInstanceState: Bundle?) {
when {
intent?.action == Intent.ACTION_SEND -> {
if ("text/plain" == intent.type) {
intent.getStringExtra(Intent.EXTRA_TEXT)?.let {
// Update UI to reflect text being shared
if (it == "press_button2"){
myButton.performClick()
}
}
}
}
}
}
Be aware that also other apps would be able to manage your "send text action", so android will show an app chooser to the user, you'll not be able to switch between the two apps seamlessly. 请注意,其他应用程序也可以管理您的“发送文本操作”,因此Android会向用户显示应用程序选择器,您将无法无缝切换这两个应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.