Android调用系统分享到Facebook,Messager,WhatsApp
(2023-09-24 01:48:45)分类: androidios |
Android 调用系统分享到其他包中,首先判断手机中是否含有该app
public
static synchronized boolean isContainPackName(final Context
mContext , String packName) {
boolean isContainPack = false;
try {
PackageManager packageManager = mContext.getPackageManager();
PackageInfo info = packageManager.getPackageInfo(packName ,
PackageManager.GET_ACTIVITIES);
if(info != null){
isContainPack = true;
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return isContainPack;
}
Facebook 包名为 :
com.facebook.katana
Messager包名为 :
com.facebook.orca
What's App 包名为 : com.whatsapp
然后调用系统的分享
1.分享文字或链接:
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT,shareText);//shareText 为需要分享的内容
sendIntent.setType("text/plain");
sendIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
sendIntent.setPackage(packageName);//packageName 为需要分享到的包名
startActivity(sendIntent);
2.分享文件:
//直接调用系统的分享,我这里只是实现了录音的
public void
shareAudioRecord(Context mContext , File file){
if(file.exists() && file.length() > 0){
//
Uri mUri = getFileUri(mContext , file);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory("android.intent.category.DEFAULT");
intent.putExtra(Intent.EXTRA_STREAM,getFileUri(mContext ,
file));
intent.setType("audio*";
//
}
//
intent.setDataAndType(mUri, "audio/3gpp");
intent.setType("audio/*");
try {
mContext.startActivity(Intent.createChooser(intent,mContext.getResources().
Facebook 包名为 :
Messager包名为 :
What's App 包名为 :
然后调用系统的分享
1.分享文字或链接:
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT,shareText);//shareText 为需要分享的内容
sendIntent.setType("text/plain");
sendIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
sendIntent.setPackage(packageName);//packageName 为需要分享到的包名
startActivity(sendIntent);
2.分享文件:
//
//
//