Android应用程序到应用程序通信

Android应用程序到应用程序通信,android,ios,iphone,android-intent,google-cloud-messaging,Android,Ios,Iphone,Android Intent,Google Cloud Messaging,我是android初学者。请给我一些建议,我将遵循哪些程序来开发应用程序,如: 例如:我如何在应用程序之间进行通信? 例如我想将图像或任何其他数据发送到另一个设备或应用程序,请帮我解决这个问题 多谢各位 switch (intent.getIntExtra(Constants.EXTENDED_DATA_STATUS, Constants.STATE_ACTION_COMPLETE)) { 或 是否有可能在不使用推送通知的情况下进行应用到应用的通信? 我想将图像

我是android初学者。请给我一些建议,我将遵循哪些程序来开发应用程序,如:

例如:我如何在应用程序之间进行通信? 例如我想将图像或任何其他数据发送到另一个设备或应用程序,请帮我解决这个问题

多谢各位

switch (intent.getIntExtra(Constants.EXTENDED_DATA_STATUS,
                Constants.STATE_ACTION_COMPLETE)) {

是否有可能在不使用推送通知的情况下进行应用到应用的通信?
我想将图像从一个应用程序发送到另一个应用程序,请提供一些建议和建议。感谢在设备之间共享数据,其中一种方式是Wi-Fi Direct,这是演示的链接,文档在链接上。希望能有所帮助。

设备上应用程序之间的通信与设备之间的通信非常不同

在设备中,您可以使用意图在应用程序之间进行通信

// send text
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

// send binary data
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);
shareIntent.setType("image/jpeg");
startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to)));
如果您想在网络上的设备之间共享,那么使用某种TCP/IP或UDP协议可能会起作用,但通常我发现蓝牙是最简单的解决方案。这两个应用程序都需要知道通信,但它非常简单

这里有一篇好文章:

基本上,要点是你:

  • 查找其他设备
  • 与其他设备配对
  • 发送文件
  • 示例代码如下所示:

    import android.bluetooth.BluetoothAdapter;
    // duration that the device is discoverable
    private static final int DISCOVER_DURATION = 300;
    
    // our request code (must be greater than zero)
    private static final int REQUEST_BLU = 1;
    //...
    public void enableBlu(){
    // enable device discovery - this will automatically enable Bluetooth
    Intent discoveryIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
    
    discoveryIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,
                                DISCOVER_DURATION );
    
    startActivityForResult(discoveryIntent, REQUEST_BLU);
    }
    
    然后接收:

    // When startActivityForResult completes...
    protected void onActivityResult (int requestCode,
                                     int resultCode,
                                     Intent data) {
    
      if (resultCode == DISCOVER_DURATION
           && requestCode == REQUEST_BLU) {
          // processing code goes here
      }
      else{ // cancelled or error
        Toast.makeText(this, R.string.blu_cancelled,
                       Toast.LENGTH_SHORT).show();
      }
    }
    

    如果需要的话,您可以使用自己的蓝牙意图,而不是操作系统意图。您可以从AOSP代码中获取Bluetooth意图的来源。

    任何有经验的软件开发人员都会给我一些建议。但是,通过Bluetooth,设备之间的通信不是应用程序之间的通信,不是吗?我想要应用程序到应用程序的通信。你可以使用Web服务作为中介,因为在android中,Peer2对等通信不受支持,或者你可以按照@Moubee Farooka的建议使用WIFI p2p。对不起,我忘了提一下,我使用的是gprs,不是wifi etcso您可以使用自己的一些网络服务。Moube Farooq Khan感谢您的回复。您能告诉我,在不使用推送通知的情况下,应用程序之间的通信是否有可能?我想将图像从一个应用程序发送到另一个应用程序,一些建议和建议将不胜感激。感谢通过推送通知,您可以发送图像的url…..如果图像存在于web上,则可以在另一部手机上访问。。。。。。。如果这是最简单的方法。。。。。没有推送通知,您可以通过蓝牙和wifi发送图像……但通过蓝牙和wifi,这是设备到设备的通信,而不是应用到应用的通信,不是吗?感谢您的回复,有没有可能不使用推送通知进行应用到应用的通信?我想从一个应用程序向另一个应用程序发送图像,一些建议和建议将不胜感激。要求是应用程序之间的通信,任何建议和帮助都将不胜感激。。