Android 中带有 ActionSend Intent 的空选择器
Empty Chooser with ActionSend Intent in Android
我正在使用 Xamarin 创建一个简单的 Android 应用程序。我想向用户显示 ListView
,当单击某个项目时,会显示 Chooser
以将一些文本发送到另一个应用程序(例如 SMS、电子邮件)。我已经让 ListView
正常工作,但是当单击某个项目时,显示的 Chooser
没有任何选项;它只显示 Chooser
header。我正在使用 Xamarin Android 播放器,并且尝试过不同版本的 Android。知道问题出在哪里吗?
this.ListView.ItemClick += (sender, e) =>
{
var sendIntent = new Intent();
sendIntent.SetAction(Intent.ActionSend);
sendIntent.PutExtra(Intent.ExtraText, "This is my text to send.");
sendIntent.SetType("text/plain");
StartActivity(Intent.CreateChooser(sendIntent, "Share With..."));
};
你的代码没问题。这是 Android 模拟器的问题,因为您似乎没有安装支持发送的应用程序,因此列表为空。
即在安装了 GApps 的 GenyMotion 模拟器上,您的代码生成:
或者:
1) 在安装了一个或多个“发送已启用”应用程序的物理设备上进行测试
或者:
2) 安装 Google 在 Xamarin 的模拟器实例上运行并安装一些应用程序
我正在使用 Xamarin 创建一个简单的 Android 应用程序。我想向用户显示 ListView
,当单击某个项目时,会显示 Chooser
以将一些文本发送到另一个应用程序(例如 SMS、电子邮件)。我已经让 ListView
正常工作,但是当单击某个项目时,显示的 Chooser
没有任何选项;它只显示 Chooser
header。我正在使用 Xamarin Android 播放器,并且尝试过不同版本的 Android。知道问题出在哪里吗?
this.ListView.ItemClick += (sender, e) =>
{
var sendIntent = new Intent();
sendIntent.SetAction(Intent.ActionSend);
sendIntent.PutExtra(Intent.ExtraText, "This is my text to send.");
sendIntent.SetType("text/plain");
StartActivity(Intent.CreateChooser(sendIntent, "Share With..."));
};
你的代码没问题。这是 Android 模拟器的问题,因为您似乎没有安装支持发送的应用程序,因此列表为空。
即在安装了 GApps 的 GenyMotion 模拟器上,您的代码生成:
或者:
1) 在安装了一个或多个“发送已启用”应用程序的物理设备上进行测试
或者:
2) 安装 Google 在 Xamarin 的模拟器实例上运行并安装一些应用程序