不允许启动服务 Intent 未经许可不从 uid 导出
Not allowed to start service Intent without permission not exported from uid
我试图在我的 android 应用程序中调用第 3 方服务意图,但 returns 错误:
java.lang.SecurityException: Not allowed to start service Intent { act=com.othercompany.SERVICE_INTENT flg=0x3 cmp=com.mycompany.package/com.othercompany.service.CoreService (has extras) } without permission not exported from uid 10107
我尝试调用的服务意图完全在我的应用程序之外,因此我无法访问它的代码或清单文件。
我的代码如下:
buttonPress.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent talkButtonDown = new Intent(PRESS_CLASS);
talkButtonDown.setClassName(PACKAGE, "com.othercompany.service.CoreService");
talkButtonDown.putExtra(RESTART_EXTRA, true);
talkButtonDown.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
talkButtonDown.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startService(talkButtonDown);
}
});
我在其他帖子中读到过在外部应用程序的清单中需要 'exported=true',但我无权访问此清单。
还有什么可能会引发此错误吗?任何帮助将不胜感激。
干杯。
Is there anything else that could be throwing this error?
没有。该服务未导出。仅供托管服务的应用程序使用,不供其他应用程序直接调用。
您可以考虑联系相关公司,看看他们是否有记录和支持的 API 使用他们的 Android 应用程序。
我试图在我的 android 应用程序中调用第 3 方服务意图,但 returns 错误:
java.lang.SecurityException: Not allowed to start service Intent { act=com.othercompany.SERVICE_INTENT flg=0x3 cmp=com.mycompany.package/com.othercompany.service.CoreService (has extras) } without permission not exported from uid 10107
我尝试调用的服务意图完全在我的应用程序之外,因此我无法访问它的代码或清单文件。
我的代码如下:
buttonPress.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent talkButtonDown = new Intent(PRESS_CLASS);
talkButtonDown.setClassName(PACKAGE, "com.othercompany.service.CoreService");
talkButtonDown.putExtra(RESTART_EXTRA, true);
talkButtonDown.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
talkButtonDown.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startService(talkButtonDown);
}
});
我在其他帖子中读到过在外部应用程序的清单中需要 'exported=true',但我无权访问此清单。 还有什么可能会引发此错误吗?任何帮助将不胜感激。 干杯。
Is there anything else that could be throwing this error?
没有。该服务未导出。仅供托管服务的应用程序使用,不供其他应用程序直接调用。
您可以考虑联系相关公司,看看他们是否有记录和支持的 API 使用他们的 Android 应用程序。