public class ShareUtil {
private static final StringFILE_PROVIDER_AUTHORITY ="com.slab.sktar.fileprovider";
/**
* 分享文字信息(包括URL链接等..)
*
* @param activity 当前Activity对象
* @param text 要分享的文字内容
*/
public static void shareText(Activity activity, String text,String message) {
Intent intent =new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, R.string.share);
intent.putExtra(Intent.EXTRA_TITLE, message);
intent.putExtra(Intent.EXTRA_TEXT,message+"\n"+text);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Intent chooserIntent = Intent.createChooser(intent, activity.getTitle());
activity.startActivityForResult(chooserIntent, AppConstants.REQUEST_CODE_SHARE);
}
/**
* 分享文字信息(包括URL链接等..)
*
* @param activity 当前Activity对象
* @param text 要分享的文字内容
*/
public static void shareText(Activity activity, String text) {
Intent intent =new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, R.string.share);
intent.putExtra(Intent.EXTRA_TEXT,text);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Intent chooserIntent = Intent.createChooser(intent, activity.getTitle());
activity.startActivityForResult(chooserIntent, AppConstants.REQUEST_CODE_SHARE);
}
/**
* 分享图片信息
*
* @param activity mActivity 当前Activity对象
* @param imageFilePath 要分享的图片的文件路径
*/
public static void shareImage(Activity activity, String imageFilePath) {
File imageFile =new File(imageFilePath);
Intent intent =new Intent(Intent.ACTION_SEND);
intent.setType("image/*");
Uri imageUrl;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
imageUrl = FileProvider.getUriForFile(activity,FILE_PROVIDER_AUTHORITY, imageFile);
}else {
imageUrl = Uri.fromFile(imageFile);
}
intent.putExtra(Intent.EXTRA_STREAM, imageUrl);
intent.putExtra(Intent.EXTRA_SUBJECT, R.string.share);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Intent chooserIntent = Intent.createChooser(intent, activity.getTitle());
activity.startActivityForResult(chooserIntent, AppConstants.REQUEST_CODE_SHARE);
}
/**
* 分享gif信息
* @param text 要分享的文字内容
* @param activity mActivity 当前Activity对象
* @param gifFilePath 要分享的gif的文件路径
*/
public static void shareGif(Activity activity, String text, String gifFilePath) {
File gifFile =new File(gifFilePath);
Intent intent =new Intent(Intent.ACTION_SEND);
intent.setType("gif/*;text/plain");
Uri gifUrl;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
gifUrl = FileProvider.getUriForFile(activity,FILE_PROVIDER_AUTHORITY, gifFile);
}else {
gifUrl = Uri.fromFile(gifFile);
}
intent.putExtra(Intent.EXTRA_STREAM, gifUrl);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(Intent.EXTRA_SUBJECT, R.string.share);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Intent chooserIntent = Intent.createChooser(intent, activity.getTitle());
activity.startActivityForResult(chooserIntent, AppConstants.REQUEST_CODE_SHARE);
}
/**
* 分享图片加文字的信息
*
* @param activity 当前Activity对象
* @param text 要分享的文字内容
* @param imageFilePath 要分享的图片的文件路径
*/
public static void shareTextAndImage(Activity activity, String text, String imageFilePath) {
File imageFile =new File(imageFilePath);
Intent intent =new Intent(Intent.ACTION_SEND);
intent.setType("image/*;text/plain");
Uri imageUri;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
imageUri = FileProvider.getUriForFile(activity,FILE_PROVIDER_AUTHORITY, imageFile);
}else {
imageUri = Uri.fromFile(imageFile);
}
intent.putExtra(Intent.EXTRA_STREAM, imageUri);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(Intent.EXTRA_SUBJECT, R.string.share);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Intent chooserIntent = Intent.createChooser(intent, activity.getTitle());
activity.startActivityForResult(chooserIntent, AppConstants.REQUEST_CODE_SHARE);
}
/**
* 分享视频和文本
* @param activity 当前Activity对象
* @param text 要分享的文字内容
* @param videoFilePath 要分享的视频的文件路径
*/
public static void shareTextAndVideo(Activity activity, String text, String videoFilePath) {
File videoFile =new File(videoFilePath);
Intent intent =new Intent(Intent.ACTION_SEND);
intent.setType("video/mp4;text/plain");
Uri videoUri;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
videoUri = FileProvider.getUriForFile(activity,FILE_PROVIDER_AUTHORITY, videoFile);
}else {
videoUri = Uri.fromFile(videoFile);
}
intent.putExtra(Intent.EXTRA_STREAM, videoUri);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(Intent.EXTRA_SUBJECT, R.string.share);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Intent chooserIntent = Intent.createChooser(intent, activity.getTitle());
activity.startActivityForResult(chooserIntent, AppConstants.REQUEST_CODE_SHARE);
}
/**
* 分享音频和文本
* @param activity 当前Activity对象
* @param text 要分享的文字内容
* @param musicFilePath 要分享的音频的文件路径
*/
public static void shareTextAndMusic(Activity activity, String text, String musicFilePath) {
File videoFile =new File(musicFilePath);
Intent intent =new Intent(Intent.ACTION_SEND);
intent.setType("music/mp3;text/plain");
Uri musicUri;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
musicUri = FileProvider.getUriForFile(activity,FILE_PROVIDER_AUTHORITY, videoFile);
}else {
musicUri = Uri.fromFile(videoFile);
}
intent.putExtra(Intent.EXTRA_STREAM, musicUri);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(Intent.EXTRA_SUBJECT, R.string.share);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Intent chooserIntent = Intent.createChooser(intent, activity.getTitle());
activity.startActivityForResult(chooserIntent, AppConstants.REQUEST_CODE_SHARE);
}
}