Android本机应用程序命令行参数

Android本机应用程序命令行参数,第1张

概述我有:voidandroid_main(structandroid_app*state)是否有可能从android_app结构获取用于启动应用程序的命令行参数?如果没有,是否还有其他意思让他们使用C调用(我不能使用Java代码)?解决方法:Android应用程序进程没有应用程序唯一的命令行参数,因为没有执行exec()调用来启动它们

我有:

voID androID_main(struct androID_apP* state)

是否有可能从androID_app结构获取用于启动应用程序的命令行参数?如果没有,是否还有其他意思让他们使用C调用(我不能使用Java代码)?

解决方法:

AndroID应用程序进程没有应用程序唯一的命令行参数,因为没有执行exec()调用来启动它们.

通常,当shell启动程序时,它会自行创建一个新进程,然后在该进程中立即调用exec()将shell程序映像替换为正在执行的程序映像. argc& argv变量派生自传递给exec()的参数.

但是在AndroID上,出于各种原因(包括在系统范围内共享代码页),所有正常的应用程序进程都是名为zygote的进程的专用子进程.没有执行exec()调用,而是在fork之后,实现应用程序的代码被简单地加载到进程中,并且它的用户标识降级为应用程序的用户标识.因为没有exec()调用来建立新的命令行参数,所以进程可用的唯一参数是用于在AndroID运行时启动期间启动原始zygote进程的那些参数.那些可能包括vm运行模式选项,但没有关于特定应用程序.

应用程序进程以及其中的活动或服务对象是为响应Intent而启动的.正如在注释中指出的那样,Intent对象有一些接收器可见的参数,其中一些参与角色非常类似于更传统的系统中的命令行参数.从功能上讲,它是Intent对象的那些字段,在这些字段中看起来很有用.

正如Nobu Games在评论中指出的那样,“本地活动”在功能上并不是那么不同 – 它仍然是一个基于VM的常规应用程序,有很多关键的Java代码,只是第三方开发人员只编写jni库,已经与系统一起打包的必要java代码.

总结

以上是内存溢出为你收集整理的Android本机应用程序命令行参数全部内容,希望文章能够帮你解决Android本机应用程序命令行参数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1110423.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存