ADB将参数值传递到活动
以下代码为文本字段值并将其比较以打开窗口。我想从命令行中传递参数值,
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
Please help me to pass the parameter value through adb
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论