意向 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);

当您单击列表项时,您知道您选择了哪个应用程序来共享您的内容,在这里您可以算作该应用程序。