草庐IT

android - Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK Android 不工作

coder 2023-11-26 原文

好吧,那是我的问题。

我需要,当用户按下返回底部时,删除所有打开的 Activity 的堆栈:

@Override
public void onBackPressed(){
    Intent i = new Intent(context, CrisolMainApp.class);
    i.putExtra(CrisolMainApp.CERRAR_APP, true);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(i);
}

关键是这适用于我的大部分手机,但昨天我尝试使用 Samsung Galaxy Mini (android 2.3.3) 但它不工作!!它不会删除 Activity 堆栈。

谁知道为什么?

编辑:我正在查看文档,我发现 API 11 上添加了“Intent.FLAG_ACTIVITY_CLEAR_TASK”(我的三星 Galaxy Mini 适用于 Android 2.3.3,因此,API 10)...... ..我不知道,但我想这就是问题所在。

任何人都知道如何让它以相同的方式为小于 11 的 API 工作?

我尝试添加这些标志,但它也不起作用:

@Override
public void onBackPressed(){
    Intent a = new Intent(this, CrisolMainApp.class);
    a.putExtra(CrisolMainApp.CERRAR_APP, true);
    a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
    a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(a);
    finish();
}

我也试过:

@Override
    public void onBackPressed(){
        Intent a = new Intent(this, CrisolMainApp.class);
        a.putExtra(CrisolMainApp.CERRAR_APP, true);
        a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        startActivity(a);
        finish();
    }

最佳答案

一个简单的修复应该是将 xml 属性 android:noHistory="true" 添加到您的所有 Activity 中,这意味着一旦用户离开该 Activity ,它就会消失,并且不会存储返回堆栈

关于android - Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK Android 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14341294/

有关android - Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK Android 不工作的更多相关文章

  1. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  2. ruby-on-rails - Rails 'rake task' 使用 nohup 在 ‘RAILS_ENV=production' 中执行 - 2

    我有rake任务需要持续激活。每当我通过命令运行它时RAILS_ENV=productionrakejobs:abc它工作正常,但是当我关闭终端时rake作业停止了。所以我通过使用nohup在后台运行它找到了其他解决方案。我执行命令:nohupRAILS_ENV=productionrakejobs:work&但它给出了错误:nohup:failedtoruncommand‘RAILS_ENV=production’:Nosuchfileordirectory请建议在生产环境中执行rake任务。 最佳答案 在nohup命令之前设置环

  3. ruby-on-rails - Grunt task Compass 失败——找不到 RubyGem compass (>= 0) - 2

    我最近将机器从iMac转移到带有Mavericks的新MacBookPro。一切都很好,但我注意到当我保存文件时Grunt崩溃了(自动更新不工作)。我试图更新我的系统,但是当我通过终端运行我的grunt任务时,我收到以下错误:Running"compass:dev"(compass)task/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in`report_activate_error':CouldnotfindRubyGemcompass(>=0)(Gem:

  4. ruby-on-rails - Rake Task 特定类(class)在哪里生活? ( rails 3) - 2

    我有几个类仅由rake任务使用。我意识到rake任务通常存在于@lib/tasks/whatever.rake但我应该在哪里放置支持类?谢谢! 最佳答案 $RAILS_ROOT/lib或$RAILS_ROOT/lib/special_task/可能是最好的,因为它在默认加载路径中,您可以做一个简单的分别需要'my_task_helper'或require'special_task/helper'。 关于ruby-on-rails-RakeTask特定类(class)在哪里生活?(rail

  5. ruby-on-rails - Jobs with Resque gives "Don' t know how to build task 'jobs:work' "on Heroku - 2

    我遵循了https://devcenter.heroku.com/articles/queuing-ruby-resque上的教程在Rails应用程序中排队和运行后台作业。在对作业进行排队后,它似乎没有运行任何作业,因为在控制台中我可以看到作业尚未处理>Resque.info=>{:pending=>1,:processed=>0,:queues=>1,:workers=>0,:working=>0,:failed=>0,:servers=>["redis://dory.redistogo.com:9826/0"],:environment=>"production"}如果我尝试(本地

  6. ruby-on-rails - rails : why is calling to_a on a string not valid in a rake task? - 2

    我正在尝试解密一组用于数据库迁移的密码。我有一些旧的Rails代码(实际上是一个Runner脚本)可以很好地解密它们。但是将相同的代码放入Rake任务会导致任务失败,并显示...未定义的方法`to_a'for"secretkey":String...为什么在字符串上调用to_a在Rake任务中无效,但在Runner脚本中却完全有效?require'openssl'KEY='secretkey'namespace:importdotask:users=>:environmentdodefdecrypt_password(pw)cipher=OpenSSL::Cipher::Cipher.

  7. Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信) - 2

    运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid

  8. Android 10.0 设置默认launcher后安装另外launcher后默认Launcher失效的功能修复 - 2

    1.前言 在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关的设置。来解决问题设置默认La

  9. ruby-on-rails - Heroku 无法检测到 rake 任务(LoadError : cannot load such file -- rspec/core/rake_task) - 2

    我正在使用travisCI部署到heroku,但出现此错误。这才刚刚开始。我有基本的railsRakefile,我有一个看起来像这样的文件,否则travis无法检测到rake任务:#lib\tasks\spec.rakerequire'rspec/core/rake_task'RSpec::Core::RakeTask.newtask:default=>:spec为什么会专门为heroku显示此错误?编辑-我有一个与给出的(更好的)答案相似的版本:beginrequire'rspec/core/rake_task'desc"Runallexamples"RSpec::Core::Rak

  10. ruby - Capistrano 错误:<Rake::Task load:defaults => []>:Rake::Task 的未定义方法 `already_invoked' - 2

    我花了太多时间调试它,但我不知道发生了什么。“capproductiondeploy”今天早上运行良好,现在它只是抛出一个错误。令人惊讶的是,谷歌到目前为止并没有太大帮助。据我所知,代码库没有任何变化:➜sesac-mm-matchinggit:(deploy)capproductiondeploy--trace**Invokeproduction(first_time)**Executeproductioncapaborted!NoMethodError:undefinedmethod`already_invoked'for[]>:Rake::Task/Users/***/.rvm/

随机推荐