我正在开发一个类,当用户选择该类时应该打开一个应用程序。如果未安装该应用程序,则会单击“查找”按钮并安装它。
这是我到目前为止所拥有的
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);
}}
};
到目前为止,该页面已打开并正确搜索该应用。但是现在应用程序已下载,我需要自动跳过此屏幕并打开该应用程序。怎么做的?
答案 0 :(得分:0)
不知何故,你正在推出该应用程序。据推测,你有Intent
传递给startActivity()
这样做。如果是这样,您有两个选择:
只需致电startActivity()
并转至ActivityNotFoundException
catch
区块中的上述代码
使用PackageManager
和queryIntentActivities()
查看是否有任何内容会响应您的Intent
,如果没有,请先转到您的上述代码而不先致电startActivity()
< / p>