我的android应用程序的两个实例正在运行…如何避免这种情况?

我的android应用程序的两个实例正在运行…如何避免这种情况?,第1张

概述这是我的问题 – >我将我的.apk文件复制到手机存储卡上并点击它启动我的应用程序,它允许我安装我的应用程序.我安装我的应用程序.最后,我d出系统安装包含两个选项“打开”和“完成”当我点击“打开”我的应用程序启动.到目前为止一切正常,没有任何问题. >现在在我的应用程序中,我点击一个按钮,结果发生了一些下载(显示进度对话框).现在我按下一个Home按钮,所以我的应用程序转到后台. >现在我再次启动 这是我的问题 –

>我将我的.apk文件复制到手机存储卡上并点击它启动我的应用程序,它允许我安装我的应用程序.我安装我的应用程序.最后,我d出系统安装包含两个选项“打开”和“完成”当我点击“打开”我的应用程序启动.到目前为止一切正常,没有任何问题.
>现在在我的应用程序中,我点击一个按钮,结果发生了一些下载(显示进度对话框).现在我按下一个Home按钮,所以我的应用程序转到后台.
>现在我再次启动我的应用程序,进入菜单并单击我的应用程序图标.
>预期结果 – 我仍然应该看到下载进度对话框.
实际结果 – 我的应用程序的新实例/会话正在开始.

那么如何避免这种情况,以便我的应用程序只能运行一个和一个实例/会话.

解决方法 @Palejandro,你在这里.将下面的代码放入主要活动onCreate()方法中:
// Possible work around for market launches. See// http://code.Google.com/p/androID/issues/detail?ID=2373// for more details. Essentially,the market launches the main activity// on top of other activitIEs.// We never want this to happen. Instead,we check if we are the root// and if not,we finish.if (!isTaskRoot()) {    final Intent intent = getIntent();    final String intentAction = intent.getAction();    if (intent.hascategory(Intent.category_LAUNCHER) && intentAction != null && intentAction.equals(Intent.ACTION_MAIN)) {        Log.w(TAG,"Main Activity is not the root. Finishing Main Activity instead of launching.");        finish();        return;    }}

我在我的项目中使用了这段代码,它运行正常!

总结

以上是内存溢出为你收集整理的我的android应用程序的两个实例正在运行…如何避免这种情况?全部内容,希望文章能够帮你解决我的android应用程序的两个实例正在运行…如何避免这种情况?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1134630.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存