2015-08-31 35 views
0

我正在使用android藍牙庫連接到遠程桌面。當與桌面的連接丟失時,我想重新啓動一個新的應用程序實例(這將極大地方便處理我的連接丟失)。Android - 如何重新啓動一個乾淨的應用程序實例

我試過這段代碼:

Intent i = getBaseContext().getPackageManager() 
         .getLaunchIntentForPackage(getBaseContext().getPackageName()); 
       i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
       i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(i); 

但在那之後,我仍然有問題,重新連接,而如果我手動終止並重新啓動它工作正常的應用程序。

+0

你在'Application'中放了一堆藍牙相關的東西嗎?如果是這樣,最好的解決方案可能是「不這樣做」。 –

回答

1

當您檢測到您丟失並再次找到連接時,您可以重新啓動您的Activity。您可以使用此代碼重新啓動您的活動:

public void reload() { 
    Intent intent = getIntent(); 
    overridePendingTransition(0, 0); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
    finish(); 

    overridePendingTransition(0, 0); 
    startActivity(intent); 
} 
0

您確定要重新啓動活動嗎?用戶將看到轉換,這將是一個更緩慢的應用程序。此外,重新啓動一個活動與重新啓動該應用程序非常不同。

連接到遠程的方式可能存在問題,調試可能會有所幫助。如果您發佈代碼,也許其他人可以提供幫助。

相關問題