Android使用系统Intent实现分享功能及将应用加入分享列表
16lz
2021-01-23
写道 在Android系统中如何给应用增加分享功能,怎样将应用加入系统的分享选择列表? Intent.createChooser()方法用来弹出系统分享列表。
但是,查看Intent对应的组件是否存在,可查看Android判断Intent是否存在,是否可用,当Android系统调用Intent时,如果没有找到Intent匹配的Activity组件(Component),那么应用将报以下错误:android.content.ActivityNotFoundException: Unable to find explicit activity class。
所以在使用之前必须判断一下,代码如下:
但是,查看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>
更多相关文章
- Android--高级组件
- Android VR Player(全景视频播放器) [6]:视频列表的实现-本地视频
- Android基本组件学习(Activity生命周期)
- 改造 Android 官方架构组件 ViewModel
- 【Android高级】Android系统以及Activity启动讲解
- 深入理解Android消息处理系统――Looper、Handler、Thread