Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:两个作为启动器的活动_Android_Android Activity_Simultaneous - Fatal编程技术网

Android 安卓:两个作为启动器的活动

Android 安卓:两个作为启动器的活动,android,android-activity,simultaneous,Android,Android Activity,Simultaneous,我正在开发储物柜应用程序。我创建了服务和接收器来隐藏默认的安卓储物柜。但有几天我在设置活动方面遇到了问题。我正在寻找一个解决方案,如何使两个活动作为启动器。我想做这样的东西: 仅当手机锁定时,才会启动“储物柜”活动。仅当我按下菜单中的应用程序图标时,设置活动。有没有可能把它编成一个程序? 谢谢您的帮助。您可以尝试启动相同的活动,但针对每种情况更改内容视图(改为onCreate)。比如: if (isLocked()) { setContentView(R.layout.locker_ac

我正在开发储物柜应用程序。我创建了服务和接收器来隐藏默认的安卓储物柜。但有几天我在设置活动方面遇到了问题。我正在寻找一个解决方案,如何使两个活动作为启动器。我想做这样的东西: 仅当手机锁定时,才会启动“储物柜”活动。仅当我按下菜单中的应用程序图标时,设置活动。有没有可能把它编成一个程序?
谢谢您的帮助。

您可以尝试启动相同的活动,但针对每种情况更改内容视图(改为onCreate)。比如:

if (isLocked()) {
    setContentView(R.layout.locker_activity);
} else {
    setContentView(R.layout.settings_activity);
}

您可以只使用一个活动作为启动器,并使用片段加载所需内容。大概是这样的:

public class LauncherActivity extends FragmentActivity {
super.onCreate(savedInstanceState);

Fragment fragment;
if (isLocked()) {
    fragment = new LockerFragment();
}   
else {
    fragment = new SettingsFragmentFragment();
}
getFragmentManager().beginTransaction().add(R.id.container_id,fragment).commit();

}

我认为您无法创建两个启动器,但为什么不创建一个启动器活动,然后在检查所需设置后,使用意图来启动所需的正确活动?我编写了这样的内容:KeyguardManager kgMgr=(KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);布尔显示=kgMgr.inKeyguardRestrictedInputMode();如果(!showing){Intent i=newintent(startockscreen.this,setingsactivity.class);startActivity(i);}否则{Intent i=newintent(startockscreen.this,LockActivity.class);startActivity(i);}finish();,它只适用于锁定活动,设置仍然不显示。但在按下pp图标后,lockscreen并没有那么成功。我不认为他只是想改变布局,而是实际在不同的活动中启动。