Facebook打开,跳转个人首页、动态方式

1. 启动facebook,如果已经启动,就切换到前台

fun startFacebook(context: Context) {
    val pkgName = "com.facebook.katana"
    var intent=context.packageManager.getLaunchIntentForPackage(pkgName);
    if (intent==null) {
        intent = Intent()
        intent.action = "android.intent.action.VIEW"
        // 打开url
        val content_url = Uri.parse("http://facebook.com/")
        intent.data = content_url
        context.startActivity(intent)

    } else {
       /* intent.flags =
            Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED or Intent.FLAG_ACTIVITY_CLEAR_TOP*/
        context.startActivity(intent)
    }

}

2. 打开指定页面

个人主页参数:https://www.facebook.com/profile.php?id=xxx

指定动态参数:https://www.facebook.com/1023380141053376/posts/2833358400055532/

公共主页:自行百度,我采用的个人主页

fun startFaceBookWithUrl(context: Context,url:String){
    val install=AppUtils.isAppInstalled("com.facebook.katana")
    val intent = Intent()
    intent.action = "android.intent.action.VIEW";

    val facebookUrl=if(!install){
        url
    }else{
       getFacebookDetailURL(context,url)
    }
    intent.data = Uri.parse(facebookUrl)

    context.startActivity(intent)
}
/**
 * 直接链接
 */
fun getFacebookDetailURL(context: Context,url:String): String? {
    val packageManager = context.packageManager
    try {
        val versionCode = packageManager.getPackageInfo("com.facebook.katana", 0).versionCode
        if (versionCode >= 3002850) { //newer versions of fb app
            return "fb://facewebmodal/f?href=$url"
        }
    } catch (e: PackageManager.NameNotFoundException) {
        e.printStackTrace()
    }
    return url
}

 


版权声明:本文为tian2342原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。