标签: whatsapp

WhatsApp如何在每台服务器上实现200万个连接?

在Ubuntu上,可以打开的最大套接字数似乎受以下因素控制:

$ cat /proc/sys/net/ipv4/tcp_max_orphans
262144
Run Code Online (Sandbox Code Playgroud)

根据Rick Reed(来自WhatsApp)的一个演讲,这些人使用FreeBSD和ErLang在一台"单一服务器"上进行了200万次并发连接.我的理解是我们总是需要内核的一些支持.是的,看起来像FreeBSD调整了这个功能:

hw.machine: amd64
hw.model: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
hw.ncpu: 24
hw.physmem: 103062118400
hw.usermem: 100556451840

kb@c123$ uname -rps
FreeBSD 8.2-STABLE amd64

jkb@c123$ cat /boot/loader.conf.local
kern.ipc.maxsockets=2400000
kern.maxfiles=3000000
kern.maxfilesperproc=2700000
Run Code Online (Sandbox Code Playgroud)

所以,看起来像内核可以调整以支持这么多的物理连接,假设我们有足够的内存,对吗?如果是,那么它看起来很简单,那么它的炒作是什么?或者我错过了什么?

谢谢.

unix sockets erlang freebsd whatsapp

26
推荐指数
2
解决办法
2万
查看次数

WhatsApp HTML共享图像链接

我知道你可以分享消息,这对Android和ios现在有效:

<a href="whatsapp://send?text=Hello world this is a message and a link http://www.example.com/image.jpg">Share with whatsapp</a>
Run Code Online (Sandbox Code Playgroud)

但是,我想通过我网站上的按钮分享图像,就像有人会从他的手机(图库)共享图像一样.无论如何这可能吗?

html5 whatsapp

26
推荐指数
1
解决办法
2万
查看次数

移动网站"WhatsApp"按钮将消息发送到特定号码

可以定制移动网站以允许用户在WhatsApp中将预先填写的消息共享给手动选择的联系人.这里给出的是使用自定义URL方案完成的.一个例子:

<a href="whatsapp://send?text=Hello%20World!">Hello, world!</a>
Run Code Online (Sandbox Code Playgroud)

要拨打特定号码,我们使用:

<a href="tel:0123456789">Call</a>
Run Code Online (Sandbox Code Playgroud)

同样,我们可以将WhatsApp消息发送到特定号码(或者至少打开聊天),而无需用户手动选择电话号码,而是将其作为预定义参数/属性值之一吗?

html mobile-website whatsapp

26
推荐指数
3
解决办法
8万
查看次数

以编程方式回答Whatsapp视频通话

有没有办法在Android中使用AccessibilityService自动回答whatsapp视频通话?

或者有没有办法刺激点击耳机/蓝牙的呼叫应答按钮?我怎样才能获得回答按钮的ID?使用辅助功能服务执行单击

我知道从Android 8.0 Oreo开始我们有ANSWER_PHONE_CALLS权限,但对于我的项目,我想使用旧设备进行远程监控.

任何帮助,将不胜感激!

-----更新:感谢hemisphire先生和Kahbazi先生的回答,该应用程序能够接听电话,但需要成为一个系统应用才能工作!有没有办法让它成为一个没有系统应用程序的工作?没有耳机的按钮黑客?

public class AnswerCall  extends AccessibilityService {
    @Override
    public void onAccessibilityEvent( AccessibilityEvent event )
    {
        if(event.getEventType() == TYPE_WINDOW_CONTENT_CHANGED)
        {

            if(event.getPackageName().equals("com.whatsapp"))
            {

                Thread thread = new Thread() {
                    @Override
                    public void run() {
                        try {
                            while(true) {
                                Instrumentation inst = new Instrumentation();
                                inst.sendKeyDownUpSync(KeyEvent.KEYCODE_HEADSETHOOK);
                            }
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                };

                thread.start();
                StringBuilder sb = new StringBuilder();
                List<CharSequence> texts = event.getText();
                if (!texts.isEmpty())
                {
                    for (CharSequence s : event.getText()) {
                        sb.append(s);
                    } …
Run Code Online (Sandbox Code Playgroud)

android whatsapp

25
推荐指数
3
解决办法
4019
查看次数

通过Whatsapp或Facebook分享图像和文字

我在我的应用程序中有一个共享按钮,我想同时共享图像和文本.Gmail中工作正常,但在WhatsApp的,只有图像被发送和Facebook的应用程序崩溃.

我使用共享代码是这样的:

Intent shareIntent = new Intent(Intent.ACTION_SEND);  
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Message");         

Uri uri = Uri.parse("android.resource://" + getPackageName() + "/drawable/ford_focus_2014");
     try {
        InputStream stream = getContentResolver().openInputStream(uri);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
Run Code Online (Sandbox Code Playgroud)

如果我使用"shareIntent.setType("*/*")"Facebook和WhatsApp崩溃.

有办法做到这一点吗?也许同时发送两条消息(WhatsApp).

提前致谢.

android facebook whatsapp share-intent

24
推荐指数
3
解决办法
6万
查看次数

即使我强制停止应用程序,whatsapp服务如何重新启动?

我在设备A中运行whatsapp(我们可以从现在开始称它为appX).我去管理应用程序 - >强制关闭以便appX关闭,我不再将appX视为正在运行的服务.

现在,5分钟后,我从另一台设备的appX(设备B)发送一条消息到设备A appX(我们杀了它的那个).以下是我测试的两个场景:

  • 设备A与Android 2.1:它永远不会收到消息,因此我们可以说没有任何appX服务重新启动.如果手动用户重新启动应用程序,它仅接收消息.

  • 设备A与android 2.3.6:出于一些神奇的原因,无论自appX被杀多久以来,只要我们从设备B发送消息 - >设备A获取消息,因此,appX的服务重新启动.注意:在关闭appX并且没有收到任何通知的情况下,我无法在管理应用程序中看到appX的任何正在运行的服务,因此这意味着一旦收到消息/通知,这个魔术服务就会重新启动

我知道这听起来很奇怪,很多人会说这是不可能的,但同样,这已经在这两款设备上进行了测试.

我试图完成同样的行为,所以任何帮助将不胜感激.

service android background whatsapp

23
推荐指数
2
解决办法
4万
查看次数

Callkit扬声器bug/WhatsApp如何修复它?

我有一个Callkit功能的应用程序.当我按下扬声器按钮时,它将闪烁并设置为关闭状态(有时扬声器设置为LOUD但图标仍然是OFF).当我多次点击它时......可以清楚地看到此功能的行为不正确.

然而,WhatsApp在开始时扬声器关闭,3秒后它激活它和它的工作.有没有人遇到类似的东西,可以给我一个解决方案?

Youtube视频链接,以展示我的问题

xcode ios whatsapp swift callkit

22
推荐指数
2
解决办法
1562
查看次数

直接从浏览器(或从应用程序)发送链接到whatsapp组

我想让用户与WhatsApp小组共享URL +文本.我希望这可以从iPhone和Androids工作.但是我的应用程序是在浏览器中(它是一个网站).我目前正在研究两种选择,但两者都存在问题:

1)第一个潜在的解决方案 - 直接从浏览器共享.

我检查了WhatsApp的URL架构并使用以下URL通过我的应用程序共享:

"whatsapp://send?text=Hello%2C%20World!" 
Run Code Online (Sandbox Code Playgroud)

但是这种方法存在一些问题:

  • 它似乎只适用于iPhone而不适用于Androids.Androids是否有适合的解决方案?
  • 只有在您被重定向到WhatsApp之后,它才能选择发送给谁,除非您知道用户的地址簿ID(= abid).首先,我不知道如何访问用户的abid?其次,我试图发送给一个小组,在这种情况下没有abid(对吗?),因此似乎不可能这样做.真的吗?此外,Android应用程序会发生什么?对于一群人来说,与abid相比有什么可比性,我该如何得到它?

2)第二个潜在的解决方案 - 创建一个与基于浏览器的应用程序完全相同的本机应用程序,但是这个特定部分(我们执行"共享")是原生的.

但是,在我看来,在这种情况下,我遇到的问题与上述问题非常相似:

  • 我可以在WhatsApp的网站上看到如何为iOS做这个(见上面的链接).但是,WhatsApp URL架构是否也适用于Android原生应用程序?
  • 同样,地址簿ID问题也是一样的.我怎么得到它?鉴于我们现在是一个原生应用程序,它可能更容易获得iOS上的abid,但它是否存在于一个组中?Android应用程序怎么样?这份分享给WhatsApp小组在那里工作吗?

iphone android url-scheme ios whatsapp

21
推荐指数
2
解决办法
8万
查看次数

我想获得whatsApp profilepicture但只获取名称和contactnumber?

我想获取WhatsApp个人资料图片和编号,但使用contentResolver我将使用以下代码段获取名称和编号.

private void showContactWhatsApp(){

    ContentResolver cr = getContentResolver();

    Cursor contactCursor = cr.query(
            ContactsContract.RawContacts.CONTENT_URI,
            new String[]{ContactsContract.RawContacts._ID,
                    ContactsContract.RawContacts.CONTACT_ID},
            ContactsContract.RawContacts.ACCOUNT_TYPE + "= ?",
            new String[]{"com.whatsapp"},
            null);


    ArrayList<String> myWhatsappContacts = new ArrayList<>();

    if (contactCursor != null) {
        if (contactCursor.getCount() > 0) {
            if (contactCursor.moveToFirst()) {
                do {
                    //whatsappContactId for get Number,Name,Id ect... from  ContactsContract.CommonDataKinds.Phone
                    String whatsappContactId = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.RawContacts.CONTACT_ID));

                    if (whatsappContactId != null) {
                        //Get Data from ContactsContract.CommonDataKinds.Phone of Specific CONTACT_ID
                        Cursor whatsAppContactCursor = cr.query(
                                ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                new String[]{ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
                                        ContactsContract.CommonDataKinds.Phone.NUMBER,
                                        ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME},
                                ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", …
Run Code Online (Sandbox Code Playgroud)

android android-contentresolver whatsapp

20
推荐指数
1
解决办法
820
查看次数

Whatsapp身份验证如何工作?

我想开发一个移动应用程序并使用像用户注册的whatsapp.现在我记得几年前讨论过的安全问题.Whatsapp用于通过电话号码和IMEI对用户进行身份验证.现在当然这不是很安全,但我真的不知道如何更安全.

现在我已经很久没有听到有关Whatsapp身份验证问题的消息,所以我猜他们现在已经有了安全的方法.你知道Whatsapp今天是怎么做到的吗?

security authentication mobile android whatsapp

19
推荐指数
1
解决办法
1万
查看次数