繁体   English   中英

android如何打开Facebook应用程序(如果已安装在手机中)

[英]android how to open facebook app if it is installed in the phone

我想从我的应用程序中打开Facebook应用程序。 如果已安装,那么我想打开Facebook应用程序窗口,而不是Facebook的弹出窗口。

我怎样才能做到这一点?

它在Facebook Android SDK中提供。 当您需要继续FB登录时,SDK将打开FB App而不是弹出警报(如果已安装)。

这是代码(来自Facebook SDK代码

    /*
    * Copyright 2010 Facebook, Inc.
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
    * You may obtain a copy of the License at
    *
    * http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
public class Facebook {
...

        /**
        * Internal method to handle single sign-on backend for authorize().
        */
            private boolean startSingleSignOn(Activity activity, String applicationId,
                    String[] permissions, int activityCode) {
                boolean didSucceed = true;
                Intent intent = new Intent();

                intent.setClassName("com.facebook.katana",
                        "com.facebook.katana.ProxyAuth");
                intent.putExtra("client_id", applicationId);
                if (permissions.length > 0) {
                    intent.putExtra("scope", TextUtils.join(",", permissions));
                }

                // Verify that the application whose package name is
                // com.facebook.katana.ProxyAuth
                // has the expected FB app signature.
                if (!validateAppSignatureForIntent(activity, intent)) {
                    return false;
                }

                mAuthActivity = activity;
                mAuthPermissions = permissions;
                mAuthActivityCode = activityCode;
                try {
                    activity.startActivityForResult(intent, activityCode);
                } catch (ActivityNotFoundException e) {
                    didSucceed = false;
                }

                return didSucceed;
            }
...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM