0

これは私が今持っているものです。GoLauncherがインストールされているかどうかを確認し、インストールされている場合は、goLauncherのメイン画面に移動します。インストールされていない場合は、ユーザーが市場に出してインストールする必要があります。

ただし、すでにインストールされている場合は、テーマのインストール方法を示すアラートボックスをポップアップする必要があります。ユーザーがOKを押した後、GoLaunhcerのメイン画面に移動する必要があります

gosetting = (ImageButton) findViewById(R.id.gosetting);
    gosetting.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.setComponent(new ComponentName("com.gau.go.launcherex","com.jiubang.ggheart.apps.desks.diy.GoLauncher"));
                startActivity(intent);
            } 
            catch (ActivityNotFoundException e) {
                AlertDialog.Builder alert = new AlertDialog.Builder(HelperActivity.this);
                alert.setTitle("GO Not Found");
                alert.setMessage("Do you want to vist the GO Launcher Android Market page?");
                alert.setIcon(R.drawable.go_icon2);
                alert.setPositiveButton("Yes",
                 new DialogInterface.OnClickListener() {
                  public void onClick(DialogInterface dialog, int id) {
                      final Intent intent = new Intent(Intent.ACTION_VIEW).setData(Uri.parse("market://details?id=com.gau.go.launcherex"));
                      startActivity(intent);
                  }
                 });
                alert.setNegativeButton("No",
                 new DialogInterface.OnClickListener() {
                  public void onClick(DialogInterface dialog, int id) {
                      return;
                  }
                 });

                alert.show();

            } catch (Exception go) {
                go.printStackTrace();
            }
        }

    });

更新されたコードを追加しましたが、このエラーが発生します。1

4

1 に答える 1

0

アプリケーションがインストールされているかどうかを検出するための答えを見てください。これは、PackageManagerにクエリを実行して、アプリが既にインストールされているかどうかを確認する方法を説明しています。

編集:コードを追加

public void onClick(View v) {
    if (isAppInstalled("com.gau.go.launcherex")) {
        // Show dialog about installing the theme
        AlertDialog.Builder alert = new AlertDialog.Builder(HelperActivity.this);
        alert.setTitle("GO Theme installer");
        alert.setMessage("You need to install the theme like this...");
        alert.setIcon(R.drawable.go_icon2);
        alert.setPositiveButton("OK",
                new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int id) {
                  // Here actually start the GoLauncher
                  final Intent intent = new Intent(Intent.ACTION_MAIN);
                  intent.setComponent(new ComponentName("com.gau.go.launcherex","com.jiubang.ggheart.apps.desks.diy.GoLauncher"));
                  startActivity(intent);
              }
             });
        alert.show();
    } else {
        // Here you put up the dialog about visitng the market page
        AlertDialog.Builder alert = ...
    }
}

private boolean isAppInstalled(String uri) {
    PackageManager pm = getPackageManager();
    boolean installed = false;
    try {
       pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
       installed = true;
    } catch (PackageManager.NameNotFoundException e) {
       installed = false;
    }
    return installed;
}
于 2012-06-20T17:02:53.703 に答える