调用系统的分析功能就简单多了,主要是设置一下Intent 对象的一些属性,然后start就好了。
public static void shareMemo(Context context, String path) {
Uri uri = Uri.parse("file:///" + path);
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_STREAM, uri);
it.setType("audio/*");
context.startActivity(Intent.createChooser(it, "共享语音备忘录")));
}
下面主要说一下 自定义分享功能实现,主要是自定义界面,主要要做的工作是获取到可分享的应用列表,然后显示应用列表,点击,使用该应用分享语音。
先看代码获取有分享功能的应用列表,将列表信息放在list中:
public static List<ResolveInfo> getShareApps(Context context) {
List<ResolveInfo> mApps = new ArrayList<ResolveInfo>();
Intent intent = new Intent(Intent.ACTION_SEND, null);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("audio/*");
PackageManager pManager = context.getPackageManager();
mApps = pManager.queryIntentActivities(intent,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
return mApps;
} ResolveInfo appInfo=(ResolveInfo) list.get(arg2);
Uri uri = Uri.parse("file:///" + path);
Intent shareIntent=new Intent(Intent.ACTION_SEND);
shareIntent.setComponent(new ComponentName(appInfo.activityInfo.packageName, appInfo.activityInfo.name));
shareIntent.setType("audio/*");
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(shareIntent); 实现效果图仿IOS7 语音分享效果,如下:
android 调用系统分享功能以及实现自定义分享,布布扣,bubuko.com
原文:http://blog.csdn.net/xuduzhoud/article/details/20141561