有没有办法将数据从一个xamarin.forms应用程序发送到另一个xamarin.forms应用程序。 Android应用程序的目标仅适用于android,而其他应用程序是android和ios。 android应用程序必须在本地向android application / ios发送数据,但android应用程序正在接收它。在我的aplication android我无法打开另一个应用程序并发送数据。但我不能在我的申请中收到数据。这是android aplication中的代码:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.companyname.Opiniao","android.intent.action.B"));
intent.putExtra(Intent.EXTRA_TEXT, editTextEmail.getText() + "\n " + editTextPassword.getText());
intent.setType("text/plain");
startActivity(intent);
答案 0 :(得分:3)
我已经能够解决问题了。
在我的Android应用程序中,我使用此代码:
void enviar(){
// Usa o nome do package que nos queremos encontrar
boolean isAppInstalled = appInstalledOrNot("com.companyname.Opiniao");
if(isAppInstalled) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.companyname.Opiniao","android.intent.action.B"));
intent.putExtra("Dados", editTextEmail.getText() + "\n" + editTextPassword.getText());
startActivity(intent);
} else {
String url = "http://www.google.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
}
//Procura o package, se tiver instalado, envia um true, se não encontrar devolve um false
private boolean appInstalledOrNot(String uri) {
PackageManager pm = getPackageManager();
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
在我的xamarin.forms中,在android mainActivity中,我把它放在:
async void Receber()
{
text = Intent.GetStringExtra("Dados");
string dados = "Dados";
bool result;
result = await dados.WriteTextAllAsync(text);
}