打开第三方应用

时间:2012-03-17 18:28:53

标签: android android-intent

我正在开发一个使用程序包名称来启动第三方应用程序的应用程序。我做了一些研究,发现所有应用程序都可以从启动器意图启动。有没有人知道如何通过点击按钮来做到这一点。

3 个答案:

答案 0 :(得分:6)

你无法真正“启动应用程序”。如果您知道packagename:

,可以尝试从第三方应用程序获取Launch Intent
Intent intent = getPackageManager().getLaunchIntentForPackage("com.thirdparty.package");
startActivity( intent );

答案 1 :(得分:4)

对于上面接受的答案,如果您的模拟器上没有安装第三方应用程序,您也应该优雅地处理它。 以下是相同的完整代码:

public void openThirdPartyApp() {   

        Intent intent = new Intent("com.thirdparty.package");
            intent.setPackage("com.thirdparty.package");

            try {
                ((Activity) context).startActivityForResult(intent, REQUEST_CODE);
            } catch (ActivityNotFoundException e) {
                downloadIt();
            }
        }

    private void downloadIt() {

    Uri uri = Uri.parse("market://search?q=pname:" + "com.thirdparty.package");
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);

                try {
                    context.startActivity(intent);
                } catch (ActivityNotFoundException e) {
    //creates a small window to notify there is no app available 
                }   

            }
        }

    }

答案 2 :(得分:2)

将它放在View.OnClickListener:

myButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = getPackageManager().getLaunchIntentForPackage(theOtherActivityPackage);
        startActivity( intent );
    }
});