检查第三方应用程序,打开 - 如果没有安装

时间:2011-07-15 17:06:29

标签: android android-intent actionview

我正在开发一个类,当用户选择该类时应该打开一个应用程序。如果未安装该应用程序,则会单击“查找”按钮并安装它。

这是我到目前为止所拥有的

public class calc extends Activity {
static final String MARKET_SEARCH_Q_PNAME_PROVIDER = "market://search?q=pname:com.packagename.package";



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.getpft);
    setTitle("Install Marine PFT?");

    ((Button) findViewById(R.id.Ok)).setOnClickListener(new Openpft());
    ((Button) findViewById(R.id.FindIt)).setOnClickListener(new FindZxingOnclickListener());
}

public class FindZxingOnclickListener implements OnClickListener {
    public void onClick(View v) {
        Intent marketLaunch = new Intent(Intent.ACTION_VIEW);
        marketLaunch.setData(Uri.parse(MARKET_SEARCH_Q_PNAME_PROVIDER));
        startActivity(marketLaunch);
    }}




    };

到目前为止,该页面已打开并正确搜索该应用。但是现在应用程序已下载,我需要自动跳过此屏幕并打开该应用程序。怎么做的?

1 个答案:

答案 0 :(得分:0)

不知何故,你正在推出该应用程序。据推测,你有Intent传递给startActivity()这样做。如果是这样,您有两个选择:

  1. 只需致电startActivity()并转至ActivityNotFoundException catch区块中的上述代码

  2. 使用PackageManagerqueryIntentActivities()查看是否有任何内容会响应您的Intent,如果没有,请先转到您的上述代码而不先致电startActivity() < / p>