Far*_*ukh 6 android android-activity
我通过以下代码调用另一个活动的活动:
Intent intent = new Intent(context, mClass);
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
以及由此代码启动的新活动.我想知道哪个活动开始此活动.我为此目的使用了这段代码
Intent intent = getIntent();
Class<?> c = intent.getClass();
if (c != OffersActivity.class) {
prepareForNotifications();
setListAdapter();
}
Run Code Online (Sandbox Code Playgroud)
但是通过这段代码,我无法获得启动此活动的类名.我真的需要一些帮助.
谢谢
the*_*jon 12
有一种方法getCallingActivity(),但只有在调用活动调用您时才有效startActivityForResult().我见过图书馆使用它并说你必须这样称呼它们,但坦率地说这有点令人讨厌.简单的答案是你不应该知道.Android是一个松散耦合的活动系统,因此调用活动对您的活动没有任何实际意义.你的活动需要的任何信息都应该明确地放在意图中,所以如果你真的想知道谁给你打电话,那么打电话的人就需要把这些额外的东西放进去.你当然不能说出他们是不是在撒谎,所以不要不要尝试将此用于与安全相关的任何事情.但是,我建议无论你根据调用者确定什么,调用者都应该通过你.可能是时候重新考虑你为什么要这样做,因为试图对抗系统只会导致痛苦.
| 归档时间: |
|
| 查看次数: |
15479 次 |
| 最近记录: |