我有一个活动类A
,它会覆盖startActivity(intent)
。基本上它只是检查意图,然后通过调用super.startActivity(intent)
将其传递给超级活动。此活动位于模块中。
现在我创建了一个项目并添加了这个模块。我在这个名为B
的项目中有一个活动类,它扩展了A
。现在B
在同一个项目中调用活动C
。如果B
未延伸A
,则可以致电C
。但无论何时它延伸A
,都没有任何反应。可能是什么问题。我试图在超级活动A
中打印当前类并调用类,我可以看到它的意图是正常的。但是,每当我想通过C
通过此方法调用A
时,都不会发生任何事情。
这是我的代码段。
public class A extends Activity{
@Override
public void startActivity(Intent intent)
{
//do something here. Not modifying the intent
super.startActivity(intent);
}
}
在活动B中,
public class B extends A
{
//somewhere in a button handler
Intent intent = new Intent(B.this, C.class);
startActivity(intent);
}
我可以从代码中看到startActivity
内的A
确实被调用了。但当我将意图传递给超级时,没有任何反应。但如果B
没有扩展A
,一切正常。需要注意的是,A
是一个库模块。
在查看logcat时我没有看到任何错误,
D/TaskPersister( 826): removeObsoleteFile: deleting file=279_task.xml
I/Tasker_Activity( 1181): Inside tasker activity
D/audio_hw_primary( 348): out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2
D/audio_hw_primary( 348): select_devices: out_snd_device(2: speaker) in_snd_device(0: none)
D/msm8974_platform( 348): platform_send_audio_calibration: sending audio calibration for snd_device(2) acdb_id(15)
E/ACDB-LOADER( 348): Error: ACDB AFE returned = -19
D/audio_hw_primary( 348): enable_snd_device: snd_device(2: speaker)
D/audio_hw_primary( 348): enable_audio_route: apply and update mixer path: low-latency-playback speaker
D/audio_hw_primary( 348): disable_audio_route: reset and update mixer path: low-latency-playback speaker
D/audio_hw_primary( 348): disable_snd_device: snd_device(2: speaker)
但我不知道这意味着什么E/ACDB-LOADER( 348): Error: ACDB AFE returned = -19
需要注意的是,我将超级活动A放在应用程序项目中,而不是库,但结果是相同的。