簡體   English   中英

從app.Application對象使用startActivity(intent)進行啟動和活動

[英]Starting and activity with startActivity(intent) from an app.Application object

我有下一個問題。 我有一個從Application繼承的類。 在此類中,我跟蹤android終端的gps位置。 在某些情況下,我需要啟動警報,然后,我需要啟動一個活動(窗體),以便用戶做出一些決定。

我為此使用普通代碼:

public class FondeoApplication extends Application{
  .....
  private void lanzaAlerta(){
      mediaPlayer.start(); 

      Intent intent = new Intent(FondeoApplication.this, AlertaActivity.class);
      startActivity(intent);
    }

但我得到了一個例外,接下來:

Thread [<1> main] (Suspended (exception AndroidRuntimeException))   
    ContextImpl.startActivity(Intent) line: 822 
    FondeoApplication(ContextWrapper).startActivity(Intent) line: 276   
    FondeoApplication.lanzaAlerta() line: 199   
    FondeoApplication.checkPosition(Location) line: 190 
    FondeoApplication.access$5(FondeoApplication, Location) line: 179   
    FondeoApplication$1.onLocationChanged(Location) line: 171   
    LocationManager$ListenerTransport._handleMessage(Message) line: 227 
    LocationManager$ListenerTransport.access$000(LocationManager$ListenerTransport, Message) line: 160  
    LocationManager$ListenerTransport$1.handleMessage(Message) line: 176    
    LocationManager$ListenerTransport$1(Handler).dispatchMessage(Message) line: 99  
    Looper.loop() line: 132 
    ActivityThread.main(String[]) line: 4123    
    Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
    Method.invoke(Object, Object...) line: 491  
    ZygoteInit$MethodAndArgsCaller.run() line: 841  
    ZygoteInit.main(String[]) line: 599 
    NativeStart.main(String[]) line: not available [native method]  

我試圖從繼承自Activity的對象開始活動,並且一切正常,所以我想問題是我試圖從Application對象開始活動。

有誰知道實現此目標的正確方法?

也許我沒有很好地關注整個應用程序。 但是,我知道讓某些代碼在后台運行的唯一方法是使用Application對象。 如果有人知道更好的方法,請告訴我。

提前致謝。

您是否嘗試過將意圖標志設置為FLAG_ACTIVITY_NEW_TASK?

Intent intent = new Intent(this, AnyActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM