Это довольно общий вопрос, но вам придется использовать неявное намерение из вашего "APP1" и прочитать действие намерения в вашем "APP2".
Шаги будут:
- Определите неявное намерение в вашем APP1, что-то вроде
val sendIntent: Intent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, "press_button2")
type = "text/plain"
}
startActivity(sendIntent)
- В вашем APP2 настройте манифест на получение указанного действия в выбранном вами действии, используя фильтр намерений:
<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>
- В вашем «APP2» обрабатывается входящее намерение в вашей деятельности, что-то вроде:
@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()
}
}
}
}
}
}
Имейте в виду, что и другие приложения смогут управлять вашим «действием отправки текста», поэтому Android покажет пользователю выбор приложения, а вы не сможете легко переключаться между этими двумя приложениями.
Ссылка здесь