Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- String AppURL = "https://play.google.com/store/apps/details?id=" + getApplicationContext().getPackageName();
- String urlToShare = "http://stackoverflow.com/questions/7545254"; // I need custom url to specific part in my app
- // See if official Facebook app is found
- boolean facebookAppFound = false;
- List<ResolveInfo> matches = getPackageManager().queryIntentActivities(intent, 0);
- for (ResolveInfo info : matches) {
- if (info.activityInfo.packageName.toLowerCase().startsWith("com.facebook.katana")) {
- intent.setPackage(info.activityInfo.packageName);
- facebookAppFound = true;
- break;
- }
- }
- // As fallback, launch sharer.php in a browser
- if (!facebookAppFound) {
- String sharerUrl = "https://www.facebook.com/sharer/sharer.php?u=" + urlToShare;
- intent = new Intent(Intent.ACTION_VIEW, Uri.parse(sharerUrl));
- }else{
- Intent intent = new Intent(Intent.ACTION_SEND);
- intent.setType("text/plain");
- // intent.putExtra(Intent.EXTRA_SUBJECT, "Foo bar"); // NB: has no effect!
- intent.putExtra(Intent.EXTRA_TEXT, urlToShare);
- }
- startActivity(intent);
- ShareDialog shareDialog;
- FacebookSdk.sdkInitialize(Activity.this);
- shareDialog = new ShareDialog(act);
- ShareLinkContent linkContent = new ShareLinkContent.Builder()
- .setContentTitle("title")
- .setContentDescription(
- "Description")
- .setContentUrl(Uri.parse("your url")).build();
- shareDialog.show(linkContent);
- private void shareFacebook(File mFileImagePath) {
- String application = "com.facebook.katana";
- boolean installed = checkAppInstall(application);
- if (installed) {
- Intent mIntentShare = new Intent(Intent.ACTION_SEND);
- String mStrExtension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(mFileImagePath).toString());
- String mStrMimeType = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(mStrExtension);
- if (mStrExtension.equalsIgnoreCase("") || mStrMimeType == null) {
- // if there is no extension or there is no definite mimetype, still try to open the file
- mIntentShare.setType("text*//*");
- } else {
- mIntentShare.setType(mStrMimeType);
- }
- mIntentShare.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(mFileImagePath));
- mIntentShare.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- mIntentShare.setPackage(application);
- startActivity(mIntentShare);
- } else {
- Toast.makeText(mContext, "Facebook have not been installed.", Toast.LENGTH_SHORT).show();
- }
- }
- private boolean checkAppInstall(String uri) {
- PackageManager pm = getPackageManager();
- try {
- pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
- return true;
- } catch (PackageManager.NameNotFoundException e) {
- //Error
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement