Android Home键 点快捷菜单应用重启问题【完美解决】

前言

1、这个问题困扰我n久n久

2、网上出现很多解决方案,大多是设置lanchModel 虽然这样能解决一些问题,但是不能完全解决,且与我的情况也不相符

解决方案:

方案一:

1、如果你的程序有管理activity的栈,可以在启动LogoActivity的onCreate中判断这个栈是存在其他的activity 如果有 本身直接 finish + return 。这样是ok,但是总感觉有种不靠谱的感觉。

方案二:

2、 无意中发现原来是创建的快捷方式的问题,快捷方式的flag或者intent的创建方式导致重启。

关于如何创建快捷方式 这里省略

看代码

public void addShortCut(){

Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

// 设置属性

...

...

...

//点击快捷方式的操作

这里的intent 必须要新创建的,不能使用 getintent 或者getPackmager.getLaunchIntentFor...等方式创建,如果这样创建导致 setflag无效

Intent intent = new Intent();

intent.setComponent(getComponentName());

intent.setAction(intent.ACTION_MAIN);

intent.addCategory(Intent.CATEGORY_LAUNCHER);

//要添加这句话

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

// 设置启动程序

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);

//广播通知桌面去创建

this.sendBroadcast(shortcut);

}

时间: 2024-11-15 13:45:22

Android Home键 点快捷菜单应用重启问题【完美解决】的相关文章

iOS 程序进入后台,包含用户上拉快捷菜单导致程序失去活跃的研究

今日在使用某App时候,突然发现上拉菜单.程序视频扔在播放,咦!引起了我的兴趣. 首先,列出两个方法, 第一个方法是AppDelegate的代理.当程序进入后台时候调用 - (void)applicationDidEnterBackground:(UIApplication *)application NS_AVAILABLE_IOS(4_0); 第二个方法是.注冊系统通知,name是UIApplicationWillResignActiveNotification,当程序释放活跃的时候调用.

Android 返回键双击退出程序

/** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exitBy2Click();// 调用双击退出函数 } return false; } private long exitTime = 0; /** * 双击退出:利用计算时间差实现 */ public void exitBy2Click() { i

解决:长按一条接收到的彩信,快捷菜单“选择性复制”功能错误

[测试步骤]长按一条接收到的彩信,快捷菜单--"选择性复制" [测试结果]功能错误,未实现选择性复制,实际是播放彩信内容 [预期结果]应该选择复制彩信内容 通过分析代码我们定位到以下代码: private final class MsgListMenuClickListener implements MenuItem.OnMenuItemClickListener { private MessageItem mMsgItem; public MsgListMenuClickListen

iOS 程序进入后台,包括用户上拉快捷菜单导致程序失去活跃的研究

今日在使用某App时候,突然发现上拉菜单,程序视频扔在播放,咦!引起了我的兴趣. 首先,列出两个方法, 第一个方法是AppDelegate的代理,当程序进入后台时候调用 - (void)applicationDidEnterBackground:(UIApplication *)application NS_AVAILABLE_IOS(4_0); 第二个方法是,注册系统通知,name是UIApplicationWillResignActiveNotification,当程序释放活跃的时候调用.

为ASP.NET控件加入快捷菜单

ContextMenu Control 快捷菜单控件概述: MSDN Liabrary 中包含了几个DHTML快捷菜单的示例.分别提供了对这一功能的不能实现方法.一个快捷菜单就是在页面中任何位置的一组标记代码.它包括两部分内容——界面和脚本(当用户在页面右击时关联UI),UI提供一个可点击的元素的列表——菜单项——和各自的内容文本,图标,命令名(command name),目标url,提示(tooltip),和所有你认为有必要显示出来的东西.快捷菜单界面是页面的一部分,并且属于页面控件树中的一员

ionic框架对Android返回键的处理

在HybridApp移动跨平台开发中,android平台会遇到一些比较特殊并难以解决的问题,这些问题在原生应用开发中很easy, Android的返回键处理就是问题之一,假如我们要实现一个在很多App中都有的在主页按返回键弹出对话框提示用户退出应用的功能,在原生应用开发中是很容易的,只要在onKeyUp事件里面对返回键事件进行处理就可以了.按2次返回键退出应用的Java代码如下: private long exitTime = 0; @Override public boolean onKeyD

quick-cocos2d-x android返回键监听并实现原生退出对话框

这两天终于闲了一下,就顺手又把quick捡起来又学了学,一直都觉得quick比cocos2dx那套lua绑定要方便许多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇. 首先说明一下使用的quick版本--2.2.5. 直接上代码 function MainScene:addBackEvent() if device.platform == "android" then self.touchLayer = display.newLayer() self.touchL

浏览器扩展系列————在WPF中定制WebBrowser快捷菜单

原文:浏览器扩展系列----在WPF中定制WebBrowser快捷菜单 关于如何定制菜单可以参考codeproject上的这篇文章:http://www.codeproject.com/KB/books/0764549146_8.aspx?fid=13574&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26#xx0xx 本文主要讲述如何在这篇文章中的ShowContextMenu方法中弹出自己的Conte

Android Launcher 如何去掉主菜单,所有应用摆在桌面,类似小米桌面

今天蓝蓝设计想激励大家获得成就感和愉悦感,准备和你们分享我的珍贵宝藏. 这一组网站设计,定会帮助你克服你的UI设计创意空白档期! 戳开链接,挨个品鉴它们吧.如果你也想认识更多志同道合的朋友,可以尝试在评论留下你对某一个网站界面设计的观点哟! 更多飙升你创造力的网站设计欣赏http://www.lanlanwork.com/ 1.My lapka 2.Biamar 3.Plate the Slate 4.Bentrova 5.Arbol 6.Marc Labrie 7.Julian Perrett