2016-10-24 16 views
1

在我的應用程序中,用戶從ActivityA變爲ActivityBActivityB顯示一個NFC設置按鈕。當用戶點擊該按鈕,該代碼被執行,以顯示本機NFC設置屏幕:如何從原生Android設置屏幕返回?

Intent intent; 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
    intent = new Intent(android.provider.Settings.ACTION_NFC_SETTINGS); 
} else { 
    intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); 
} 
startActivity(intent); 
showToast("Press Back button when done"); 

我遇到的問題是,當用戶觀看本地NFC設置屏幕,按設備的後退按鈕,他們一路回到ActivityA

有沒有一種乾淨的方法來解決這個問題,以便用戶根據需要回到ActivityB

+1

使用'startActivityForResult(...)'。 – Onik

+1

你確定在'startActivity()'之後的某個時間你沒有調用'finish()'? – CommonsWare

+0

您是否需要[攔截後退按鈕](https://www.google.com/search?q=android+intercept+back+tutton&oq=android+intercept+back+tutton&aqs=chrome..69i57j0l3.6506j0j7&sourceid=chrome&ie = UTF-8)? –

回答

1

好像應用程序在後臺被殺,但在這種情況下Android會恢復回來堆...確保在ActivityBstartActivity()後,你是不是叫finish()。或嘗試使用startActivityForResult()而不是startActivity(),那不是萬能的!

相關問題