我是android初学者。请给我一些建议,我将遵循哪个程序开发应用程序,如:
例如:如何在App与App之间进行通信? 例如我想将图片或任何其他数据发送到另一台设备或应用程序,请帮我解决这个问题。
谢谢
switch (intent.getIntExtra(Constants.EXTENDED_DATA_STATUS,
Constants.STATE_ACTION_COMPLETE)) {
或
在不使用推送通知的情况下,应用程序可以进行应用程序通信吗? 我想将图像从一个应用程序发送到另一个应用程序,一些建议和建议将非常感谢。谢谢
答案 0 :(得分:1)
在设备之间共享数据其中一种方式是Wi-Fi Direct。这里是演示source code的链接,文档位于This链接。希望它会有所帮助。
答案 1 :(得分:0)
设备上的应用程序之间的通信与设备之间的通信非常不同。
在设备中,您可以使用Intents在应用之间进行通信。
// 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协议可能会有效,但通常我发现蓝牙是最简单的解决方案。两个应用程序都需要了解通信,但它足够直接。
这里有一篇好文章:http://java.dzone.com/articles/bluetooth-data-transfer
基本上,你要点:
示例代码如下所示:
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代码获取蓝牙意图的来源。