8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何在启动 Android 活动的同一进程中启动它?

prabhakar 2月前

39 0

我有一些想要启动的活动。有时我想从主进程启动活动(例如另一个活动),有时我想从运行的服务启动它们...

我有一些想要启动的活动。有时我想从主进程启动活动(例如另一个活动),有时我想从在不同进程中运行的服务启动它们。请注意,这些活动均未导出。

我假设 <activity android:process="..."/> 默认行为是在当前进程中启动,但事实并非如此。默认行为是在应用程序的默认进程中启动。

使用指定 的不同类来 <activity> 创建所有元素的副本 android:process ,但是出于某些原因这是不可取的。

它看起来 android:multiprocess="true" 使默认工作方式符合我的要求,但我见过关于使用它的模糊、二手、可怕的警告,但原始资料已被删除,而且在实践中它似乎正是我想要的。

还有其他更好的方法来实现这一点吗?

帖子版权声明 1、本帖标题:如何在启动 Android 活动的同一进程中启动它?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由prabhakar在本站《android》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我想通过 Terraform 创建一个 AWS RDS 机密(仅用户名和密码,无轮换或 KMS):resource \'aws_secretsmanager_secret\' \'test-db-secret\' {name = &q...

    我想通过 Terraform 创建一个 AWS RDS 机密(仅用户名和密码,无轮换或 KMS):

    resource "aws_secretsmanager_secret" "test-db-secret" {
      name =  "test-db-secret"
      password = thisismypassword
    }
    
    data "aws_secretsmanager_secret" "test-db-secret"
      name = "test-db-secret"
    

    然后在 main.tf 中的我的 lambda 函数环境资源部分中引用它:

    resource "aws_lambda_function" "lambda_function" {
    .
    .
    .
    .
      environment {
        variables = {
          DB_PASS = data.aws_secretsmanager_secret.password
    

    显然,我没有正确使用 Terraform 机密内容,因为我收到错误,它没有创建机密。即使我通过 AWS 控制台手动创建机密并跳过上面的资源块,只使用数据块和 DB_PASS,它仍然不喜欢这样。任何帮助都将不胜感激。

  • JPdL 2月前 0 只看Ta
    引用 3

    您需要添加一个秘密版本并对其进行解码:

    data "aws_secretsmanager_secret_version" "creds" {
      secret_id  = "test-db-secret"
      depends_on = [aws_secretsmanager_secret.test-db-secret]
    }
    
    locals {
      creds = jsondecode(
        data.aws_secretsmanager_secret_version.creds.secret_string
      )
    }
    

    然后您可以将其传递给您的变量:

    DB_PASS = locals.creds.password
    

    您可以在 Terraform 文档

  • isx 2月前 0 只看Ta
    引用 4

    需要澄清的是,我并没有尝试在另一个应用程序的进程中运行。\'有时我想从我的主进程启动活动[...],有时我想从在不同进程中运行的服务启动它们。\' 这两个进程都是我的应用程序。

  • 不行。活动是您应用的一部分,您无法在另一个应用的进程中启动它们。您可以编写一个库,然后他们可以将其包含在他们的应用中。但您不能将另一个应用放入您的进程中。

    多进程不允许你在另一个应用的进程中运行代码。它允许你的应用拥有多个进程,每个进程运行应用的各个部分。它很少使用,但当你使用它时,通常是在自己的进程中运行服务。

    部分原因是进程和进程所有者是 Android 应用间安全模型的基石。如果您可以在进程中运行其他应用,它们将继承您的权限和访问权限,这将允许恶意软件在整个权限系统中运行。

返回
作者最近主题: