我的Google + 1按钮显示为灰色且无效?

时间:2013-11-07 05:12:57

标签: android google-plus google-play-services google-plus-one

我试图在ma app中集成G +按钮.G +按钮变灰了。它不算数。如何变成红色?

          public class HomeActivity extends SherlockActivity implements ConnectionCallbacks, OnConnectionFailedListener{

private static final String URL = "https://play.google.com/store/apps/details?id=com.phoneix.allu";
private static final int PLUS_ONE_REQUEST_CODE = 0;
private static final int REQUEST_CODE_RESOLVE_ERR = 9000;

private ProgressDialog mConnectionProgressDialog;
private PlusClient mPlusClient;
private ConnectionResult mConnectionResult;
private PlusOneButton mPlusOneStandardButton;

@Override
public void onCreate(Bundle pBundle) {
    super.onCreate(pBundle);
   setContentView(R.layout.dashboard);

    mPlusOneStandardButton = (PlusOneButton) findViewById(R.id.plus_one_standard_button);


    mPlusClient = new PlusClient.Builder(this, this, this)

            .build();


}

@Override
public void onDestroy() {
    if (adView != null) {
        adView.destroy();
    }
    super.onDestroy();
}
@Override
protected void onResume() {
    super.onResume();
    // Refresh the state of the +1 button each time we receive focus.

    mPlusOneStandardButton.initialize(URL, PLUS_ONE_REQUEST_CODE);

}

@Override
public void onDisconnected() {
    // Nothing to do.
}
@Override
public void onConnectionFailed(ConnectionResult result) {
       if (mConnectionProgressDialog.isShowing()) {
               // The user clicked the sign-in button already. Start to resolve
               // connection errors. Wait until onConnected() to dismiss the
               // connection dialog.
               if (result.hasResolution()) {
                       try {
                               result.startResolutionForResult(this, REQUEST_CODE_RESOLVE_ERR);
                       } catch (SendIntentException e) {
                               mPlusClient.connect();
                       }
               }
       }

       // Save the intent so that we can start an activity when the user clicks
       // the sign-in button.
       mConnectionResult = result;
}

public void onConnected(Bundle connectionHint) {
    mPlusOneStandardButton.initialize(URL, PLUS_ONE_REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int responseCode, Intent intent) {
    if (requestCode == REQUEST_CODE_RESOLVE_ERR && responseCode == RESULT_OK) {
        mConnectionResult = null;
        mPlusClient.connect();
    }
}

}

3 个答案:

答案 0 :(得分:0)

  

试试这个:

在xml文件中:          

    <com.google.android.gms.common.SignInButton
        android:id="@+id/sign_in_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="92dp" >
    </com.google.android.gms.common.SignInButton>

</RelativeLayout>

在你的活动中获取该按钮:

    @Override
    public void onCreate(Bundle pBundle) {
    super.onCreate(pBundle);
    setContentView(R.layout.dashboard);

    findViewById(R.id.sign_in_button).setOnClickListener(new OnClickListener() {
                    @Override
                    public void onClick
                    (View v) {
                        Intent i = new Intent(getApplicationContext(),YourActivity.class);
                        startActivity(i);
                    }
                });
}

答案 1 :(得分:0)

问题在于谷歌播放服务的最新更新。 一旦我从应用程序的设置中卸载了所有Google Play服务更新,所有+1按钮都显示正常。 我们希望谷歌能够修复他们的更新。

答案 2 :(得分:0)

新的Google Play更新更改了plusOne按钮的界面,因此基于“旧”Google Play服务SDK打破了所有plusOne按钮。 如果您检查他们的样本,您会发现他们已经更改了plusOnButton.initialize的界面,该界面不再使用“plusOneClient”,而是一个URL。

要修复,请使用“Android SDK Manager”下载最新的(第13版)Google Play服务,然后将其导回到您的项目中。