0

我想在导出的活动中实现细粒度的保护机制。权限框架似乎不适用于我的要求。

我正在考虑两种选择:

  • 使用 Activity.getCallingPackage - 仅当活动以 startActivityForResult 启动时才有效 - 这是我希望尽可能避免的限制。
  • 使用 Binder.getCallingUid - 在 Activity 中调用时,它返回本地 UID,而不是调用 UID。

有没有办法让以 startActivity 开始的活动检索有关调用应用程序的任何信息?

4

2 回答 2

0

您可以在意图中添加额外信息。

Intent i = new Intent(this, NextClass.class);
i.putExtra("extra", "This is some extra information";
startActivity(i);

您可以通过以下方式从 NextClass 检索数据:

Intent i = getIntent();
String extraStuff = i.getStringExtra("extra");
于 2013-07-12T19:10:17.390 回答
0

有没有办法让以 startActivity 开始的活动检索有关调用应用程序的任何信息?

不,对不起,超出了你的startActivityForResult()黑客。Android 对“细粒度保护机制”的支持是围绕服务设计的,而不是活动或其他组件。

于 2013-07-12T19:28:57.503 回答