-2
你好,
我有一個應用程序需要從調用類的方法調用新類。
具體而言,我有一個班,這是一個活動,並在該班內我稱surfaceView
類,我已經實施。來電者類的觸發器方法
我現在想調用startActivity(intent)
時,發生在surfaceView中的東西。
由於我無法從surfaceView
調用另一個活動,因此我想調用類中名爲sufaceView
類的方法。
到目前爲止,我已經嘗試過類似:
public void startActivity() {
Start.lose();
}
何在開始是調用類的,我已經加入像import com.example.Start;
和輸方法我稱之爲像這樣:
public static void lose(){
c.startActivity(new Intent(c,GameOver.class));
}
何在c是上下文(applicationContext是具體的)。我必須這樣做,因爲此方法是static
,這是從靜態方法調用活動的唯一方法,但它在logcat
中崩潰並且不會發生任何錯誤。
有什麼建議我可以在這裏做什麼?
好吧我logcat
被竊聽,現在我得到的錯誤信息:
07-14 14:42:43.545: E/AndroidRuntime(13111): FATAL EXCEPTION: Thread-115
07-14 14:42:43.545: E/AndroidRuntime(13111): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
07-14 14:42:43.545: E/AndroidRuntime(13111): at android.app.ContextImpl.startActivity(ContextImpl.java:856)
07-14 14:42:43.545: E/AndroidRuntime(13111): at android.content.ContextWrapper.startActivity(ContextWrapper.java:276)
07-14 14:42:43.545: E/AndroidRuntime(13111): at com.example.fishtruck.Start.lose(Start.java:92)
07-14 14:42:43.545: E/AndroidRuntime(13111): at com.example.fishtruck.GameView.startActivity(GameView.java:314)
07-14 14:42:43.545: E/AndroidRuntime(13111): at com.example.fishtruck.GameView$GameThread.lose(GameView.java:227)
07-14 14:42:43.545: E/AndroidRuntime(13111): at com.example.fishtruck.GameView$GameThread.run(GameView.java:208)
崩潰沒有日誌?不可能 –
現在看看它,我有一個logcat – Pavle37
問題很明顯,你需要在開始活動時設置標誌FLAG_ACTIVITY_NEW_TASK。 –