android如何在手机中安装Facebook应用程序

时间:2011-11-01 06:12:33

标签: android facebook

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

我该怎么做?

1 个答案:

答案 0 :(得分:0)

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

这是代码(来自Facebook SDK code

    /*
    * 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;
            }
...
}