我想在Android中以编程方式转到主屏幕,当用户单击按钮时。如何做到这一点?
发布于 2010-09-16 16:41:10
您可以通过Intent完成此操作。
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
此意图将启动用户定义的启动器应用程序。注意这一点,因为如果用户没有预料到这一点,这看起来就像您的应用程序崩溃了。
如果你想在你的应用程序中创建一个退出按钮,请阅读这篇关于安卓exit Buttons的文章
发布于 2012-03-16 03:50:18
我想补充的唯一一件事是,你可以在没有引用当前活动的情况下转到主屏幕,这对于评论来说有点太长了。
由于startActivity()
,Janusz的代码需要从活动或片段中调用,
要解决此问题,您可以在应用程序文件中存储对应用程序上下文的静态引用:
public class YourApplication extends Application
{
private static Context mAppContext;
public void onCreate()
{
super.onCreate();
...
YourApplication.mAppContext = getApplicationContext();
}
public static Context getContext()
{
return mAppContext;
}
}
现在,您可以从应用程序中的任何类将用户发送到设备主屏幕,而不仅仅是活动、片段或引用当前活动的其他类(您可以决定这是一件好事还是坏事):
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
YourApplication.getContext().startActivity(startMain);
发布于 2019-07-12 12:42:42
startActivity((new Intent(Intent.ACTION_MAIN)).addCategory(Intent.CATEGORY_HOME).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
https://stackoverflow.com/questions/3724509
复制相似问题