ADB将参数值传递到活动

发布于 2025-02-10 00:37:28 字数 3462 浏览 0 评论 0原文

以下代码为文本字段值并将其比较以打开窗口。我想从命令行中传递参数值,

jakhar.aseem.diva;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class HardcodeActivity extends AppCompatActivity {
    /* access modifiers changed from: protected */
    @Override // android.support.v7.app.AppCompatActivity, android.support.v4.app.FragmentActivity, android.support.v4.app.BaseFragmentActivityDonut
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_hardcode);
    }

    public void access(View view) {
        if (((EditText) findViewById(R.id.hcKey)).getText().toString().equals("vendorsecretkey")) {
            Toast.makeText(this, "Access granted! See you on the other side :)", 0).show();
        } else {
            Toast.makeText(this, "Access denied! See you in hell :D", 0).show();
        }
    }
}

我使用了以下命令,并且

adb shell am start -n jakhar.aseem.diva/.HardcodeActivity --es "hckey" "vendorsecretkey"

在运行该命令时不会成功:我尝试了以下错误:

$ adb shell am start -n jakhar.aseem.diva/.HardcodeActivity --es "hckey" "vendorsecretkey"
Starting: Intent { cmp=jakhar.aseem.diva/.HardcodeActivity (has extras) }

Exception occurred while executing 'start':
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=jakhar.aseem.diva/.HardcodeActivity (has extras) } from null (pid=2845, uid=2000) not exported from uid 10105
        at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1047)
        at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:975)
        at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:665)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1201)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1173)
        at com.android.server.am.ActivityManagerService.startActivityAsUserWithFeature(ActivityManagerService.java:2926)
        at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:562)
        at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:193)
        at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
        at android.os.ShellCommand.exec(ShellCommand.java:38)
        at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:8620)
        at android.os.Binder.shellCommand(Binder.java:950)
        at android.os.Binder.onTransact(Binder.java:834)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5106)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2498)
        at android.os.Binder.execTransactInternal(Binder.java:1184)
        at android.os.Binder.execTransact(Binder.java:1143)

我尝试了对-ei,而不是 - e,但仍然相同的错误。

下面的屏幕截图显示了窗口的确切活动,并导出到true true thewhere

“在此处输入图像说明”

请帮助我通过ADB传递参数值

The below code takes the text field value and compares it to open the windows. I wanted to pass the parameter value from the command line

jakhar.aseem.diva;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class HardcodeActivity extends AppCompatActivity {
    /* access modifiers changed from: protected */
    @Override // android.support.v7.app.AppCompatActivity, android.support.v4.app.FragmentActivity, android.support.v4.app.BaseFragmentActivityDonut
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_hardcode);
    }

    public void access(View view) {
        if (((EditText) findViewById(R.id.hcKey)).getText().toString().equals("vendorsecretkey")) {
            Toast.makeText(this, "Access granted! See you on the other side :)", 0).show();
        } else {
            Toast.makeText(this, "Access denied! See you in hell :D", 0).show();
        }
    }
}

I used the below command and was not successful

adb shell am start -n jakhar.aseem.diva/.HardcodeActivity --es "hckey" "vendorsecretkey"

I got the below error when I run the command:

$ adb shell am start -n jakhar.aseem.diva/.HardcodeActivity --es "hckey" "vendorsecretkey"
Starting: Intent { cmp=jakhar.aseem.diva/.HardcodeActivity (has extras) }

Exception occurred while executing 'start':
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=jakhar.aseem.diva/.HardcodeActivity (has extras) } from null (pid=2845, uid=2000) not exported from uid 10105
        at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1047)
        at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:975)
        at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:665)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1201)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1173)
        at com.android.server.am.ActivityManagerService.startActivityAsUserWithFeature(ActivityManagerService.java:2926)
        at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:562)
        at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:193)
        at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
        at android.os.ShellCommand.exec(ShellCommand.java:38)
        at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:8620)
        at android.os.Binder.shellCommand(Binder.java:950)
        at android.os.Binder.onTransact(Binder.java:834)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5106)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2498)
        at android.os.Binder.execTransactInternal(Binder.java:1184)
        at android.os.Binder.execTransact(Binder.java:1143)

I tried pair like --ei instead of --es but still same error.

The below screenshot showing the exact activity of the window and it is exported to true to call from anywhere

enter image description here

Please help me to pass the parameter value through adb

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文