【问题标题】:How to select a contact address from Whatsapp using Whatsapp's native contact picker?如何使用 Whatsapp 的本地联系人选择器从 Whatsapp 中选择联系人地址?
【发布时间】:2014-01-17 15:37:15
【问题描述】:

我正在尝试从我的应用程序中选择联系人的 Whatsapp 地址,但鉴于我的应用程序是 Whatsapp 的实用程序,我希望用户继续参与选择联系人的本地方式,这样 他们不必习惯一种对我们大多数人来说很烦人的新做事方式。

我已经进行了一些研究,并且知道Send text to specific contact (whatsapp)Sending message through WhatsApp、 以及网站中的其他一些问题和答案,但他们不使用 Whatsapp 的联系人选择器。

希望你能帮忙。

【问题讨论】:

    标签: android contacts whatsapp


    【解决方案1】:

    玩了很长时间后,我意识到我们可以启动 Whatsapp 的联系人选择器活动并接收返回的结果,但不是在返回的 uri 中(Android 联系人选择器的方式),而是作为额外的。 我想出了以下解决方案。

    要启动 Whatsapp 的本机联系人选择器,我们从我们的活动中调用以下代码:

    Intent intent = new Intent(Intent.ACTION_PICK);
        intent.setPackage("com.whatsapp");
        try{
            startActivityForResult(intent, REQUEST_CODE_PICK_WHATSAPP);
        } catch (Exception e) {
            Toast.makeText(MainActivity.this, R.string.notif_no_whatsapp, Toast.LENGTH_SHORT).show();  //no activity found to handle this intent means whatsapp is not installed
        }
    

    然后,在 Activity 的 onActivityResult(...) 方法内部:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
    
        switch (requestCode) {
        case REQUEST_CODE_PICK_WHATSAPP:
            if(resultCode == RESULT_OK){
                if(intent.hasExtra("contact")){
                    String address = intent.getStringExtra("contact");
                    Log.d(TAG, "The selected Whatsapp address is: "+address);
                }
            }
            break;
    
        default:
            break;
        }
    }
    

    希望它有助于制作更多与 Whatsapp 无缝集成的应用。

    【讨论】:

    • 你知道如何分享内容和找回地址吗?
    • 我不明白这个问题。你能更具体地说明你想做什么吗?
    • 没关系,我试图通过 Action.sendto 发送消息并检索所选用户的 id 但已经解决了。
    • 嗨,REQUEST_CODE_PICK_WHATSAPP 的值是多少?
    • 应用中的自定义值,用于#onActivityResult(...)。如果您没有设置任何其他请求代码,则可以将其设置为 0。
    猜你喜欢
    • 2017-03-28
    • 1970-01-01
    • 2017-05-10
    • 2023-03-16
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多