Sto provando a scrivere una semplice attività con Xamarin per Android a cui è possibile condividere gli URL (ad esempio, Chrome potrebbe condividere un URL per la mia attività).Come ricevere URL con Xamarin Intent Filters
Ecco quello che ho finora:
[Activity (Label = "LinkToDesktop", MainLauncher = true)]
[IntentFilter (new[] {
Intent.ActionSend,
Intent.CategoryBrowsable,
Intent.CategoryDefault,
})]
public class MainActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
string text = Intent.GetStringExtra ("MyData") ?? "Data not available";
}
}
Purtroppo, la mia app non risulta nella lista di Chrome quando provo a condividere. E mi manca qualcosa?
Modifica, codice aggiornato a quello che ho postato di seguito. Ancora non compare come target quando vado su Condividi da Chrome.
[Activity (Label = "LinkToDesktop", MainLauncher = true)]
[IntentFilter (new[] { Intent.ActionSend },
Categories = new[] { Intent.CategoryBrowsable, Intent.CategoryDefault })
]
public class MainActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
string text = Intent.GetStringExtra ("MyData") ?? "Data not available";
}
protected override void OnNewIntent (Intent intent)
{
base.OnNewIntent (intent);
}
}
Non ero ancora preoccupato per MyData perché quel codice non era nemmeno stato raggiunto. – mason
Bene con il corretto 'IntentFilter' è raggiunto? So che con NFC è necessario ottenere i dati nel metodo 'OnNewIntent', quindi prova a sovrascriverli e verifica se questo è il caso anche qui. – Cheesebaron
No, ancora non funziona. Ho aggiornato la mia domanda con il codice che ho provato. – mason