我的android进程有一个服务,这个服务用c语言创建一个进程。当服务被终止并且其他进程想要startService时,startService将失败,因为c进程与服务进程具有相同的名称。
(startService将返回ComponentName,但会抛出TransactionTooLargeException。此TransactionTooLargeException不是由具有太多数据的Intent引起的,因为当我没有创建c进程时,startService正常工作。)
我尝试修改c进程的名称来解决这个问题,但我无法更改此c进程的名称。我使用"prctl(PR_SET_NAME)"
并更改了/proc/$pid/status
,但/proc/$pid/cmdline
没有更改。我不能/不知道如何在Android程序中更改argv[0]
。
我该如何解决这个问题?更改c进程的名称或其他内容?