所以我想检查一下我来自哪个班级。例如,我有A,B,C类。现在,在B中有一个打开A类的意图。在C中,有一个打开A类的意图。但是,根据我来自哪个类,我会可能必须为该特定类做一些不同的方法。好的,所以我会给你我的。我有一个Themes.class和一个Soft key.class。两者都会打开一个Bmod.class。现在,几乎两个类都会做同样的事情。唯一的区别是,当我下载文件时,输出流将具有不同的目录。所以,我继续尝试了一些代码。这是我试过的:
//Download the file
Object obj = null;
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = null;
if(obj instanceof Themes){
output = new FileOutputStream("/sdcard/plasma/battery/batterymod.zip");
}if(obj instanceof Softkeys){
output = new FileOutputStream("/sdcard/plasma/softkeys/softkeys.zip");
}
现在,当我运行应用程序时,没有任何下载。我假设我做错了,所以应用程序不知道输出流是什么。所以,我的问题就像标题所说:我如何正确地检查一个班级我以前来自哪个班级。感谢。
答案 0 :(得分:2)
How do I properly check in one class which class I previously came from
我认为您在活动之间进行导航,因此您可以获得此类顶级活动
ActivityManager am = (ActivityManager) context.
getSystemService(Activity.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();
String className = am.getRunningTasks(1).get(0).topActivity.getClassName();
它使用清单
中的权限<uses-permission android:name="android.permission.GET_TASKS" />
我希望这会对你有所帮助。
答案 1 :(得分:2)
当你调用startActivity(// intent activity A)时,只需输入和添加字符串intent.putExtra(“From”,“classB”//或“classC”)。在A的调用getIntent()。getStringExtra(“From”,“”)的onCreate方法中,取决于你想做什么。