如何在Android上的其他应用程序中触发数据共享中的点击或发送事件?

时间:2017-04-27 10:56:28

标签: android eventtrigger

我正在尝试将数据从我的应用分享到其他应用,例如短信或任何其他应用。我有一个应用程序,我需要发送或共享一些数据到应用程序,如短信或fb信使。使用this链接我可以打开应用程序并使用以下代码将数据添加到文本框中:

<?php
session_start();
if(session_id() == '' || !isset($_SESSION))
?>

使用这个应用程序我可以打开其他应用程序并在文本区域中添加值我的问题是有什么办法可以触发点击或发送事件发送自动消息到其他应用程序,如短信facebook。如果是这样,我如何看到谷歌应用程序,我用我的声音发送给我的whatsapp联系人,所以这种方法是谷歌应用程序可以使用我的声音发送消息和触发事件。我的问题是如何使用我的Android代码触发事件发送。如果root系统在那里,我也可以使用它。

答案都没有接近我想要解决的问题,没有答案值得赏心悦目。

7 个答案:

答案 0 :(得分:2)

我不知道它是否有效,但有一个SMSButtler应用程序可以自动回复短信。好消息是该应用程序是开源的,您可以从此Github post下载代码。

我不能给你一个关于你的Whatsapp问题的答案,但我分析了代码,我从那里得到了这个方法:

要自动发送短信,首先需要创建SMSManager

SmsManager sms = SmsManager.getDefault();

然后只发送短信

sms.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent);

<强>参数:

  • destinationAddress发送邮件的地址
  • scAddress是服务中心地址,如果使用当前默认的SMSC,则为null
  • text要发送的邮件正文
  • sentIntent如果不为NULL,则在成功发送或失败消息时广播此PendingIntent
  • deliveryIntent如果不是NULL,则此PendingIntent为  邮件传递给收件人时广播。该  状态报告的原始pdu位于扩展数据(“pdu”)中。
  

重要提示:使用此方法需要您的应用具有   android.Manifest.permission_SEND_SMS权限。

     

注意:此类还有其他方法,例如您可以发送图片或其他内容。

答案 1 :(得分:1)

正常的第三方应用程序没有官方API来模拟用户交互。坦率地说,我不希望我的应用程序被另一个应用程序远程控制。根据您要控制的应用,如果这些应用向其他应用提供其服务或内容提供商,则可能会有一些选项。但是如果存在api文档,你需要查阅它们的api文档。

答案 2 :(得分:1)

正如@Thomas建议的那样。没有正式的方法告诉对方该怎么做。 对于谷歌应用程序,第3个应用程序公开他们的Intent以从谷歌调用他们的应用程序中的特定操作。可能你可以探索它是如何做的。

但是有一些可能的解决方案,比如应用曝光Intent来触发第三方应用的操作。

答案 3 :(得分:1)

我猜你需要捕获谷歌语音应用程序向whatsapp / facebook应用程序触发的意图,并使用与你的应用程序相同的意图来检查哪些意图被解雇使用adb logcat -b事件。

但是我觉得即使你发出相同的意图,接收应用中的安全检查可能会阻止它这样做。

你需要检查facebook / whatsapp是否有公开的API来做它。如果不是这样的话。

其他方法 - 使用Uiautomator执行点击其他应用程序按钮。但这很难实现,因为您可能需要一个单独的应用程序来侦听事件并触发自动化代码。

答案 4 :(得分:1)

如果您希望其他应用在您的应用中触发事件,则一般方法包括两个步骤:

  1. 您的应用需要按照Android方式提供API。

  2. 其他应用通过使用上述API与您的应用互动。

  3. API的类型及其实现取决于应用程序数据和功能。例如,您可以考虑使用Content Provider,Intend和Broadcast来提供API。

答案 5 :(得分:1)

Android没有提供通用方法来远程控制您想要的其他应用程序。您必须修改您想要控制的应用程序或Android系统本身。无论哪种方式,如果没有对系统或应用程序源代码进行非平凡的修改,将无法实现。

答案 6 :(得分:0)

请遵循官方的Android培训(如下所列):

使用内容共享构建应用:https://developer.android.com/training/building-content-sharing.html

将简单数据发送到其他应用: https://developer.android.com/training/sharing/send.html

从其他应用接收简单数据:https://developer.android.com/training/sharing/receive.html