Java 从“活动”启动浏览器,然后退出应用程序,使浏览器保持打开状态

Java 从“活动”启动浏览器,然后退出应用程序,使浏览器保持打开状态,java,android,Java,Android,首先 好的,我正在为商店中没有托管的应用程序开发一个应用程序“更新系统”。我要做的是从活动启动浏览器,然后退出应用程序,保持浏览器打开。这可以做到吗?如果可以,你能给我指出正确的方向吗? 编辑: 我不知道这是否会改变我希望从AlertDialog执行的操作。您需要创建一个新的意图,以便在启动新意图后打开设备上的浏览器并完成当前活动 Intent browserIntent = new Intent(Intent.ACTION_VIEW); browserIntent.setData(Uri.p

首先
好的,我正在为商店中没有托管的应用程序开发一个应用程序“更新系统”。我要做的是从活动启动浏览器,然后退出应用程序,保持浏览器打开。这可以做到吗?如果可以,你能给我指出正确的方向吗?
编辑:

我不知道这是否会改变我希望从AlertDialog执行的操作。

您需要创建一个新的意图,以便在启动新意图后打开设备上的浏览器并完成当前活动

Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setData(Uri.parse("http://www.google.com"));
startActivity(browserIntent);
finish();

以下是启动浏览器的方式:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.somewebsite.com"));
startActivity(browserIntent);
以下是您完成活动的方式:

finish();
完成一项活动与退出整个应用程序不同,因为堆栈中可能有许多活动。但是,您可以(也应该)将此任务留给系统执行-当没有足够的可用资源时,您的应用程序进程将自动终止。 供参考:

编辑:带有AlertDialog的示例:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Launch a website?");
builder.setPositiveButton(getString(R.string.yes),
    new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            Intent browserIntent = new Intent(Intent.ACTION_VIEW,
            Uri.parse("http://www.somewebsite.com"));
            startActivity(browserIntent);
            finish();
        }
    }
);
builder.setNegativeButton(getString(R.string.no),
    new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            //some other thing to do
        }
    }
);

AlertDialog dialog = builder.create();
dialog.show();

我不知道你的具体要求,但你真的不需要打开浏览器从服务器下载更新apk。是的,我知道,但这就是我现在正在做的。这只是为了让它更漂亮,并在我强制安装时给用户一些控制权。我以后可能会根据要求改变它的工作方式。