Android使用系统Intent实现分享功能及将应用加入分享列表

写道
在Android系统中如何给应用增加分享功能,怎样将应用加入系统的分享选择列表? Intent.createChooser()方法用来弹出系统分享列表。
但是,查看Intent对应的组件是否存在,可查看Android判断Intent是否存在,是否可用,当Android系统调用Intent时,如果没有找到Intent匹配的Activity组件(Component),那么应用将报以下错误:android.content.ActivityNotFoundException: Unable to find explicit activity class。
所以在使用之前必须判断一下,代码如下:

 

public static boolean intentIsAvailable(Context context, Intent intent) {
          final PackageManager packageManager = context.getPackageManager();
          List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
                                                       PackageManager.GET_ACTIVITIES);
          return list.size() > 0;
}

 

 

1、应用增加分享功能

//分享文本,若想分享图片信息需要设置setType为“image/*”,传递一个类型为Uri的参数Intent.EXTRA_STREAM。

public static void shareText(Context context, String title, String text) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_SUBJECT, title);
    intent.putExtra(Intent.EXTRA_TEXT, text);
    context.startActivity(Intent.createChooser(intent, title));
}
 

 

2、应用加入系统分享列表

 

只需在AndroidManifest.xml中加入以下代码:

<activity android:name=".ShareActivity" android:label="分享到初见">
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </intent-filter>
</activity>
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值