4

我试图在 ma 应用程序中集成 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();
    }
}

}

4

3 回答 3

0

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

于 2013-11-10T09:38:04.600 回答
0

新的 Google Play 更新更改了 plusOne 按钮的界面,因此打破了所有基于“旧”Google Play 服务 SDK 的 plusOne 按钮。如果您查看他们的示例,您会发现他们更改了 plusOnButton.initialize 的接口,该接口不再需要“plusOneClient”,而是一个 URL。

要修复此问题,请使用“Android SDK 管理器”下载最新的 (v13) Google Play 服务,然后将其导入您的项目。

于 2013-11-12T07:14:24.233 回答
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);
                    }
                });
}
于 2013-11-07T05:24:21.833 回答