意向 Android 分享
Intent Android Sharing
这是我目前使用的代码。
public void share(String subject,String text) {
final Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, text);
startActivity(Intent.createChooser(intent, getString(R.string.share)));
}
我正在使用上述代码分享内容。
但我需要的是当用户分享某些东西时,我需要它是 Count。
在 Ios 中,我们使用
实现了它
UIActivityViewController shareController = new UIActivityViewController(activityItems, null);
shareController.ExcludedActivityTypes = new[] {
UIActivityType.Mail,
UIActivityType.PostToFacebook,
UIActivityType.Message,
UIActivityType.PostToTwitter,
UIActivityType.AirDrop
};
我们得到的回应是
shareController.CompletionHandler += (NSString arg1, bool arg2)=>
但是我们如何处理 android.
自定义选择器 android 示例就像一个对话框,显示应用程序列表取决于您的 intent.Here,我已经编写了创建简单自定义选择器的简单步骤,请按照简单步骤操作这样做。
1)创建执行分享或发送操作的Intent,
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"velmurugan@androidtoppers.com"});
email.putExtra(Intent.EXTRA_SUBJECT, "Hi");
email.putExtra(Intent.EXTRA_TEXT, "Hi,This is Test");
email.setType("text/plain");
2)创建AlertDialog,在alertdialog中设置Application,
final Dialog dialog = new Dialog(Custom_chooser.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams WMLP = dialog.getWindow().getAttributes();
WMLP.gravity = Gravity.CENTER;
dialog.getWindow().setAttributes(WMLP);
dialog.getWindow().setBackgroundDrawable(
new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setCanceledOnTouchOutside(true);
dialog.setContentView(R.layout.about_dialog);
dialog.show();
3)使用ResolveInfo获取与特定意图相关的应用列表,
List<ResolveInfo> launchables=pm.queryIntentActivities(email, 0);
Collections.sort(launchables,newResolveInfo.DisplayNameComparator(pm));
4)将应用程序列表设置为自定义列表视图。
adapter=new AppAdapter(pm, launchables);
lv.setAdapter(adapter);
5)最后,在列表视图的应用程序列表中选择应用程序时启动特定的应用程序,
ResolveInfo launchable=adapter.getItem(position);
ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName,
activity.name);
email.addCategory(Intent.CATEGORY_LAUNCHER);
email.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
email.setComponent(name);
startActivity(email);
当您单击列表项时,您知道您选择了哪个应用程序来共享您的内容,在这里您可以算作该应用程序。
这是我目前使用的代码。
public void share(String subject,String text) {
final Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, text);
startActivity(Intent.createChooser(intent, getString(R.string.share)));
}
我正在使用上述代码分享内容。 但我需要的是当用户分享某些东西时,我需要它是 Count。 在 Ios 中,我们使用
实现了它UIActivityViewController shareController = new UIActivityViewController(activityItems, null);
shareController.ExcludedActivityTypes = new[] {
UIActivityType.Mail,
UIActivityType.PostToFacebook,
UIActivityType.Message,
UIActivityType.PostToTwitter,
UIActivityType.AirDrop
};
我们得到的回应是 shareController.CompletionHandler += (NSString arg1, bool arg2)=> 但是我们如何处理 android.
自定义选择器 android 示例就像一个对话框,显示应用程序列表取决于您的 intent.Here,我已经编写了创建简单自定义选择器的简单步骤,请按照简单步骤操作这样做。
1)创建执行分享或发送操作的Intent,
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"velmurugan@androidtoppers.com"});
email.putExtra(Intent.EXTRA_SUBJECT, "Hi");
email.putExtra(Intent.EXTRA_TEXT, "Hi,This is Test");
email.setType("text/plain");
2)创建AlertDialog,在alertdialog中设置Application,
final Dialog dialog = new Dialog(Custom_chooser.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams WMLP = dialog.getWindow().getAttributes();
WMLP.gravity = Gravity.CENTER;
dialog.getWindow().setAttributes(WMLP);
dialog.getWindow().setBackgroundDrawable(
new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setCanceledOnTouchOutside(true);
dialog.setContentView(R.layout.about_dialog);
dialog.show();
3)使用ResolveInfo获取与特定意图相关的应用列表,
List<ResolveInfo> launchables=pm.queryIntentActivities(email, 0);
Collections.sort(launchables,newResolveInfo.DisplayNameComparator(pm));
4)将应用程序列表设置为自定义列表视图。
adapter=new AppAdapter(pm, launchables);
lv.setAdapter(adapter);
5)最后,在列表视图的应用程序列表中选择应用程序时启动特定的应用程序,
ResolveInfo launchable=adapter.getItem(position);
ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName,
activity.name);
email.addCategory(Intent.CATEGORY_LAUNCHER);
email.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
email.setComponent(name);
startActivity(email);
当您单击列表项时,您知道您选择了哪个应用程序来共享您的内容,在这里您可以算作该应用程序。