当用户单击按钮时,我想以编程方式在Android中进入主屏幕。如何才能做到这一点?以编程方式进入主屏幕
回答
您可以通过Intent做到这一点。
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
此意向将启动用户已定义的启动器应用程序。请小心,因为如果用户不期望这会看起来像你的应用程序崩溃。
如果你想这从您的应用程序建立一个退出按钮,请阅读这篇文章exit Buttons在Android中
我读过,这是非常错误的应用程序。但为什么人们说呢?我知道我在哪里使用它。看起来这是我做我想做的唯一事情。那么这可以使用它吗? – Enigma 2012-11-19 07:05:04
对我来说最简单的事情是:'startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME));' (FLAG_ACTIVITY_NEW_TASK似乎不是必要的)。 – Jonik 2013-12-20 18:58:08
这是一个较老的线程,返回到前一个活动的作品不起作用。什么属性呢? – portfoliobuilder 2014-09-25 18:49:14
下面是其他操作的一些例子,你可以为使用这些额外的参数意图注明:
* ACTION_MAIN with category CATEGORY_HOME -- Launch the home screen.
Janusz's answer是巨大的。
我想添加的唯一东西,对评论来说有点太长了,因为您可以在不参考当前活动的情况下进入主屏幕。
需要从一个活动或片段由于startActivity()
称为雅努什的代码,
要解决这个问题,你可以存储在你的应用程序文件的静态引用您的应用程序上下文:
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);
我知道这是有点晚了,但我也遇到了同样的问题,在这里它的行为是怎么解决它。让我们再回到你的MainActivity
时需要您按下后退按钮是MainActivity
活动之一,从退出的Activity
final Intent mainActivity = new Intent(this, MainActivity.class);
mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
添加标记现在,它将进入主屏幕。
- 1. 如何以编程方式进入Android的默认主屏幕?
- 2. iOS以编程方式添加主屏幕快捷方式
- 3. 以屏幕截图(以编程方式)
- 4. 锁定屏幕以编程方式
- 5. 以编程方式触摸屏幕phonegap
- 6. Android屏幕以编程方式打开
- 7. 以编程方式关闭iOS屏幕
- 8. 以编程方式打开屏幕
- 9. 以编程方式闪烁屏幕
- 10. 以编程方式将我的主屏幕设置为默认屏幕
- 11. tvOS - 如何以编程方式返回主屏幕
- 12. 如何以编程方式取消默认主屏幕?
- 13. 以编程方式导航到Windows Mobile主屏幕
- 14. 以编程方式创建一个主屏幕小部件gui
- 15. 如何在Android中以编程方式启动主屏幕
- 16. 如何以编程方式截取iPhone主屏幕
- 17. 以编程方式向主屏幕添加标准Widget
- 18. 以编程方式将图标添加到主屏幕
- 19. 如何以编程方式拍摄iPhone主屏幕快照?
- 20. 以编程方式拍摄整个屏幕的屏幕截图
- 21. 以编程方式屏幕屏幕的某些部分
- 22. 以Android编程的屏幕截图问题以编程方式
- 23. iOS以编程方式使用GPUImageview进行屏幕截图
- 24. 以编程方式进行屏幕截图,没有状态栏
- 25. 以编程方式在Android中删除所有主屏幕快捷方式
- 26. 如何在Android中以编程方式添加快捷方式到主屏幕
- 27. 如何以编程方式使Liferay Portlet进入全屏模式
- 28. 如何使AVPlayerViewController以编程方式进入全屏模式?
- 29. 以编程方式获取主屏幕/主屏幕视图寻呼机中的应用图标坐标?
- 30. 如何在Android中以编程方式截屏整个屏幕?
请接受您的一些旧问题。 – nothrow 2010-09-16 07:25:49
一个简单的方法是重写onBackPressed或通过keyEvent = Backpressed并在其上调用onHomePressed。那么它将表现得像homePressed – Nepster 2014-05-29 13:27:41