2010-04-17 178 views
0

在Android中,我有一些代碼來檢查用戶是否已打開GPS,然後啓動「設置」以使它們打開,如果它們沒有。它看起來像這樣:Android:當應用程序重新打開時停止活動?

private void buildAlertMessageNoGps() { 
    final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder 
    .setMessage(
    "Your GPS seems to be disabled - you need it to get a location fix. Turn it on now?") 
    .setCancelable(false).setPositiveButton("Yes", 
      new DialogInterface.OnClickListener() { 
     public void onClick(
       @SuppressWarnings("unused") final DialogInterface dialog, 
       @SuppressWarnings("unused") final int id) { 
      Intent j = new Intent(); 
      j.setAction("android.settings.LOCATION_SOURCE_SETTINGS"); 
      startActivity(j); 
     } 
    }).setNegativeButton("No", 
      new DialogInterface.OnClickListener() { 
     public void onClick(final DialogInterface dialog, 
       @SuppressWarnings("unused") final int id) { 
      dialog.cancel(); 
     } 
    }); 
    final AlertDialog alert = builder.create(); 
    alert.show(); 
} 

然而,我發現,如果用戶打開設置,打開GPS,然後進行使用的應用程序正常,有一個奇怪的問題。通常,當用戶重新打開應用程序時,設置位於前面。我如何設置它們,使它們不再出現?

我不知道是否應該使用CLEAR_TOP標誌或類似的東西。我已經試過看文檔的活動標誌,但發現他們有點混亂。有人知道嗎?

回答

相關問題