将文本分享到社交网络,xamarin.forms Android
Sharing text to social networks, xamarin.forms Android
我一直在尝试实现文本到社交平台的共享功能。我仅在电子邮件的 "subject" 中使用 DependencyService returns 我的文本尝试编写代码。当我尝试将文本复制到剪贴板时,这不起作用。文本也不会传递到任何其他社交平台。请查看下面的代码。有什么我遗漏的吗?
IShareService(接口class)
public interface IShareService
{
void SharePageLink(string link);
}
ShareService(Class 在 Android 项目中)
[assembly: Dependency(typeof(ShareService))]
namespace LoyaltyWorx.Droid
{
public class ShareService: IShareService
{
public void SharePageLink(string text)
{
var context = Forms.Context;
Activity activity = context as Activity;
Intent share = new Intent(Intent.ActionSend);
share.SetType("text/plain");
share.AddFlags(ActivityFlags.ClearWhenTaskReset);
share.PutExtra(Intent.ExtraSubject, "Cool");
share.PutExtra(Intent.ExtraSubject, text);
activity.StartActivity(Intent.CreateChooser(share, "Share text!"));
}
}
}
Promotions.xaml.cs(要分享的文字)
private void TapGestureRecognizer_Tapped(object sender, EventArgs e)
{
string shareText = "Promotion: " + store + "- " + description;
DependencyService.Get<IShareService>().SharePageLink(shareText);
}
您可以在 Xamarin.Forms 中使用 Share plugin 分享消息或 link,将文本复制到剪贴板,或在任何 Xamarin 或 Windows 应用程序中打开浏览器。
在 Portable、Android 和 UWP 项目中添加 Plugin.Share 引用,并像这样使用:
using Plugin.Share;
void OpenBrowser() {
CrossShare.Current.OpenBrowser("http://www.google.com");
}
void TextShare() {
CrossShare.Current.Share("Share Text", "Sample Title");
}
void LinkShare() {
CrossShare.Current.ShareLink("Link To Share", "http://www.whosebug.com/");
}
更多细节参考this官方文档。
我一直在尝试实现文本到社交平台的共享功能。我仅在电子邮件的 "subject" 中使用 DependencyService returns 我的文本尝试编写代码。当我尝试将文本复制到剪贴板时,这不起作用。文本也不会传递到任何其他社交平台。请查看下面的代码。有什么我遗漏的吗?
IShareService(接口class)
public interface IShareService
{
void SharePageLink(string link);
}
ShareService(Class 在 Android 项目中)
[assembly: Dependency(typeof(ShareService))]
namespace LoyaltyWorx.Droid
{
public class ShareService: IShareService
{
public void SharePageLink(string text)
{
var context = Forms.Context;
Activity activity = context as Activity;
Intent share = new Intent(Intent.ActionSend);
share.SetType("text/plain");
share.AddFlags(ActivityFlags.ClearWhenTaskReset);
share.PutExtra(Intent.ExtraSubject, "Cool");
share.PutExtra(Intent.ExtraSubject, text);
activity.StartActivity(Intent.CreateChooser(share, "Share text!"));
}
}
}
Promotions.xaml.cs(要分享的文字)
private void TapGestureRecognizer_Tapped(object sender, EventArgs e)
{
string shareText = "Promotion: " + store + "- " + description;
DependencyService.Get<IShareService>().SharePageLink(shareText);
}
您可以在 Xamarin.Forms 中使用 Share plugin 分享消息或 link,将文本复制到剪贴板,或在任何 Xamarin 或 Windows 应用程序中打开浏览器。
在 Portable、Android 和 UWP 项目中添加 Plugin.Share 引用,并像这样使用:
using Plugin.Share;
void OpenBrowser() {
CrossShare.Current.OpenBrowser("http://www.google.com");
}
void TextShare() {
CrossShare.Current.Share("Share Text", "Sample Title");
}
void LinkShare() {
CrossShare.Current.ShareLink("Link To Share", "http://www.whosebug.com/");
}
更多细节参考this官方文档。