1

我是安卓新手。我想在中心显示 Toast。当没有安装 Google Play 服务时,我想重定向到 Google Play 服务并显示 Toast。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.map_layout);

    context = this;

    int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
    if(resultCode != ConnectionResult.SUCCESS) {
        Toast toast = Toast.makeText(context, getString(R.string.install_google_play_service), Toast.LENGTH_LONG);
        toast.setGravity(Gravity.CENTER, 0, 0);
        toast.show();
        context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.gms")).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
    }
4

2 回答 2

4

从您runOnUiThread()的吐司下方,我假设这是在不同的线程上运行的。Toast 是 UI 的一部分,因此需要在 UI 线程上运行。

只需将所有Toast代码移动到 UI 线程中,它应该可以正常工作。

于 2013-09-20T15:50:27.967 回答
0

这对我有用。

我删除了意图上的标志。

context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.gms")));
于 2013-09-20T16:03:24.540 回答