簡體   English   中英

當用戶處於二次活動狀態並更改了Android中的語言時,如何重新啟動應用程序

[英]How to restart the app when user is in secound actvity and changed language in android

我有2個活動Activity1,Activity2,當我打開我的應用程序時,Activity1將在那里顯示,我將導航至Activity2,這一次Activity1在后台。

當我處於Activity2中時,我是Activity2我正在打開設置並更改語言,然后系統重新加載Activity2。 在這一點上,我不想顯示activity2,我想從啟動重新啟動我的應用程序。

目前,我已經在Activity2中使用的片段中嘗試了以下邏輯以消除崩潰。

片段:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(
            R.layout.point_selection_list_fragment, container, false);
    if (savedInstanceState != null) {
        Utils.removeFragment(this);
        return view;
    }
return view;
}

請嘗試這個。 finish()既可以更改設置后的活動,也可以啟動firstactivity意圖。 謝謝希望對您有幫助

希望它會有所幫助。

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

唯一的問題是它不會重新啟動應用程序,只會重新創建類。 因此,類中的任何靜態變量都將保留先前運行的值

采用

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

在這里查看此解決方案可能對您有幫助

暫無
暫無

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

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