使用服务来最小化应用而不是新意图

时间:2016-10-07 11:07:44

标签: android

我有以下代码:

private void chathead_click(){
        if(MainActivity.active){
            //MyDialog.myDialog.finish();
        }else{
            Intent it = new Intent(this,MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(it);
        }

    }

当我点击我的服务图标时,它会打开我在上述声明中执行的app主要意图:

Intent it = new Intent(this,MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(it);

我需要在代码中执行相同的操作,只需单击显示所有应用程序的android按钮,然后单击我的应用程序即可访问它。当我创建一个新意图时,我丢失了我在EditTextViews中放置的值。

1 个答案:

答案 0 :(得分:0)

通过要打开的Activity中的静态方法提供意图。 检查谷歌上的Android最佳实践!

public class MainActivity extends AppCompatActivity {
private static Intent mIntent;

public static Intent newIntent(Context context, boolean shouldCreateNewIntent) {
    if (null == mIntent || shouldCreateNewIntent) {
        mIntent = new Intent(context, MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    }
    return mIntent;
}
}

只需从任何活动中调用newIntent方法

    startActivity(MainActivity.newIntent(this, false));