从应用内部启动Android应用程序

时间:2014-05-17 14:29:26

标签: java android

要启动Android应用程序,我使用下面的代码,适用于每个应用程序 安装在手机上,但“手机”应用程序本身除外。当我尝试推出“手机”时 应用程序不是launced并且没有错误消息或显示或抛出异常。

这是我用来启动应用程序的代码:

launchApp(context, packageManager,
"com.android.phone");

/*
 * Launch an application
 * 
 * @param c Context of application
 * 
 * @param pm the related package manager of the context
 * 
 * @param pkgName Name of the package to run
 */
public static boolean launchApp(Context c, PackageManager pm, String pkgName) {
    // query the intent for lauching
    Intent intent = pm.getLaunchIntentForPackage(pkgName);
    // if intent is available
    if (intent != null) {
        try {
            // launch application
            c.startActivity(intent);
            // if succeed
            return true;

            // if fail
        } catch (ActivityNotFoundException ex) {
            // quick message notification
            Toast toast = Toast.makeText(c, "Application Not Found",
                    Toast.LENGTH_LONG);
            // display message
            toast.show();
        }
    }
    // by default, fail to launch
    return false;
}

这是用于启动Android应用程序的正确方法和/或是“电话” 应用特殊情况,不允许其他应用程序启动/使用它?

1 个答案:

答案 0 :(得分:3)

尝试使用此代码:

Intent intent = new Intent(Intent.ACTION_DIAL);

startActivity(intent);