用于消息传递的Android语音操作

时间:2017-05-14 12:45:10

标签: android messaging google-assistant-sdk google-voice-actions

我正在自行开发一个小型消息传递应用程序,我想知道是否有可能允许用户使用Google智能助理发送消息。 (像WhatsApp和Google Allo一样)

我可以使用哪种API来存档?

2 个答案:

答案 0 :(得分:0)

在浏览代码之前,请先阅读this链接答案以及评论。

如上所述,可以注册两种类型的操作 1)自定义操作 2)系统行动  此处app已在TAKE A NOTE操作中注册(系统生成的操作)。 这是在Manifest中注册的,让系统知道它接受与记笔记相关的意图。(希望我没有解释它)

===代码===

的Manifest.xml

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action android:name="com.google.android.gms.actions.CREATE_NOTE" />
        <category android:name="android.intent.category.VOICE"/>
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain"/>
    </intent-filter>

MainActivity.java

public class VoiceAction extends AppCompatActivity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_voice_action);
         Intent t = getIntent();
         String s = t.getStringExtra(Intent.EXTRA_TEXT);
         System.out.println("====" + s);

     } }

这是我如何测试的

Ok Google - &gt;记笔记 - &gt;谷歌要求我选择一个应用程序 - &gt;选择要测试的应用程序 - &gt;给它一个注释或文字 - &gt;看你的日志(你说的文字印在那里)。

我会在一段时间内编辑答案以满足您的需求。希望这有帮助

答案 1 :(得分:0)

我在WhatsApp清单中看到了一些内容:

                                                                                     

显然他们正在使用此操作: com.google.android.voicesearch.SEND_MESSAGE_TO_CONTACTS

在任何文档中都没有这样的痕迹...... 巧合,我想不是......

https://github.com/GigaDroid/Decompiled-Whatsapp/blob/master/AndroidManifest.xml