吐司不在android中显示

时间:2013-09-20 15:45:42

标签: android

我是android新手。我想在中心显示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));
    }

2 个答案:

答案 0 :(得分:4)

从吐司下面的runOnUiThread()开始,我假设这是在另一个主题上运行的。 Toasts是UI的一部分,因此需要在UI线程上运行。

只需在UI线程中移动所有Toast代码,它就可以正常工作。

答案 1 :(得分:0)

这对我有用。

我删除了意图上的标志。

context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.gms")));