通过意图从另一个活动关闭活动

2024-01-12

我想从第一个活动开始,并且想有目的地关闭第一个活动。我试过了,但接收器不起作用。我的应用程序中有不同的接收器,所以我希望仅从 FirstReceiver 接收此意图。我该怎么做?

public class First extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        Intent close = new Intent(getApplicationContext(), Close.class);
        startActivity(close);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.first, menu);
        return true;
    }

    class FirstReceiver extends BroadcastReceiver 
    {
        @Override
        public void onReceive(Context context, Intent intent) 
        {
            Log.e("FirstReceiver","FirstReceiver");
            First.this.finish();
        }
    }
}

这是第二堂课。

public class Close extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_close);
        Intent myIntent = new Intent();
        sendBroadcast(myIntent);
        Log.e("onCreate","onCreate");
        finish();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.close, menu);
        return true;
    }
}

这可能会帮助你...

public class First extends Activity {
    public static final String ACTION_CLOSE = "yourPackageName.ACTION_CLOSE";
    private FirstReceiver firstReceiver;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        IntentFilter filter = new IntentFilter(ACTION_CLOSE);
        firstReceiver = new FirstReceiver();
        registerReceiver(firstReceiver, filter);
        Intent close = new Intent(getApplicationContext(), Close.class);
        startActivity(close);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.first, menu);
        return true;
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(firstReceiver);
    }

    class FirstReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.e("FirstReceiver", "FirstReceiver");
            if (intent.getAction().equals(ACTION_CLOSE)) {
                First.this.finish();
            }
        }
    }
}

public class Close extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_close);
        Intent myIntent = new Intent(First.ACTION_CLOSE);
        sendBroadcast(myIntent);
        Log.e("onCreate", "onCreate");
        finish();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.close, menu);
        return true;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过意图从另一个活动关闭活动 的相关文章

  • 如何自定义菜单项的背景颜色?

    我正在尝试定制Toolbar的弹出菜单 现在我无法设置菜单项的背景颜色 我的 styles xml 如下所示
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • AdapterContextMenuInfo 始终为 null

    我尝试通过 android 开发文档中的书来做到这一点 this didn t create a menu i don t know why registerForContextMenu getListView setListAdapter
  • 按下按钮时应用不同的样式

    有没有办法在按下按钮时将样式应用于按钮 如果我有一种风格样式 xml
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • Android 初学者:Android gridview 中的触摸事件

    我正在使用以下代码来使用 gridview 执行操作 稍作修改http developer android com resources tutorials views hello gridview html http developer a
  • 如何在我现有的 Android 应用程序中使用 Telegram API(包括聊天应用程序)?

    我想使用 telegram API 在我现有的 Android 应用程序中开发聊天功能 我不知道如何实施 我认为 看看Telegram 数据库库 测试版 从这里TDLib https core telegram org tdlib 俄语 但
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • 在 Cordova 应用程序中获取额外功能

    我们有两个 Android 应用程序 一个使用本机 Java 实现 另一个使用 Ionic 编写 Ionic 应用程序启动我的应用程序 这是使用灯插件 https github com lampaa com lampa startapp 我
  • 当它的父级是 ConstraintLayout 时设计 CardView 吗?

    我在编辑包含Relativelayout的Cardview内的RelativeLayout时搞砸了 ConstraintLayout会将相对布局的wrap content更改为0并添加工具 layout editor absoluteX 1
  • 图像作为电子邮件附件

    我想构建一个应用程序 我可以在电子邮件中附加图像 打开图像并将其设置为我的壁纸 我想让它跨平台 所以你能告诉我是否可以使用phonegap 或者我是否必须为iphone和android构建一个本机应用程序 您好 如果您只想通过电子邮件附加图
  • 使用片段时应用程序崩溃

    我正在处理碎片和 我的代码中有一个我找不到的问题 logcat 指向我的一个片段中的这段代码 Override public View onCreateView LayoutInflater inflater ViewGroup conta
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • WorkManager 或 AlarmManager 用于日常请求然后通知工作?

    这是用例 用户设置具有特定时间的每日通知 在指定时间 发出网络请求以获取一些数据 然后使用检索到的数据显示通知 我不确定是否应该使用 AlarmManager 还是 WorkManager 来实现这个用例 据我了解 AlarmManager
  • Android 2.3 模拟器在更新位置时崩溃

    我正在使用 Eclipse 编写和调试 Android 应用程序 我需要做的事情之一是更新设备的位置 因此我尝试使用模拟器控制窗口中的位置控制面板 在 手动 选项卡上 我选择 十进制 输入有效的纬度和经度 然后单击 发送 不幸的是 接下来发
  • OnLongClickListener 不工作

    我有一个ImageView 我需要使用onLongClickListener对于图像视图 当我使用这段代码时 什么也没有发生 Code gallery Gallery findViewById R id gall1 gallery setA
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 在 Samsung Galaxy S5 Android 5.0 上使用 MediaPlayer 加载音频流需要超过 10 秒

    由于更新至 Android 5 0 MediaPlayer 在 Samsung Galaxy S5 上无法正常工作 启动音频流后加载时间超过 10 秒 示例代码 MediaPlayer mPlayer new MediaPlayer Str
  • 通过系统应用程序以编程方式静默安装 apk(无需 root)

    我有带有 android sharedUserId android uid system UID 1000 的系统级应用程序 设备未root INSTALL PACKAGES 权限包含在清单中 我可以静默安装下载的 apk 吗 我已经发现这
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte

随机推荐

  • C++ 函数参数采用指针的地址作为参数。这是如何使用的?它是做什么用的?

    想象一个这样的函数 function Human human Implementation 你能解释一下 到底是什么吗 它有什么用 与仅传递指针或引用有何不同 您能提供一个小的且具有解释性的样本吗 谢谢 它就像一个双指针 您通过引用传递指针
  • 多目标和多类预测

    我对机器学习和张量流比较陌生 我想训练数据 以便可以进行 2 个目标和多个类别的预测 这是可以做的事情吗 我能够为 1 个目标实现该算法 但不知道如何为第二个目标实现该算法 数据集示例 一年中的某一天温度流量能见度 316 8 1 4 28
  • browser.tabs.sendMessage(): 错误:接收端不存在

    我尝试运行上面给出的示例代码tabs sendMessage MDN 页面 https developer mozilla org en US Add ons WebExtensions API tabs sendMessage 所以我的代
  • 设置和获取交集的 MySQL 字符串

    我有一个错误投影的数据库 其中在文本列中设置了 ID 例如 1 2 5 10 我需要获得以相同方式设置的两列的交集 我不喜欢使用 PHP 或其他脚本语言来完成它 我也不喜欢 MySQL 自定义函数 有没有办法获得由逗号分隔符字符串给出的两个
  • Spring Data REST:如何在一次调用中使用 Id 列表检索多个项目?

    我可以通过以下调用从 Spring Data REST 检索一本书籍 获取 书 id 现在 如果我知道两本书的 Id 并且想一次检索它们呢 应该打电话什么 我尝试了以下操作 但它返回的书籍与指定的书籍不同 GET book ids id1
  • 删除 EF4 中的实体而不加载整个实体

    我正在使用实体框架 4 并有以下设置和问题 我在 MySql 中有一个表 其中包含元数据字段和 blob 字段 使用所描述的表拆分技术here http blogs microsoft co il blogs gilf archive 20
  • Twitter 分享按钮不转发自定义文本

    我正在开发一个网站 为每个特定产品提供 Twitter 共享选项 我按照 Twitter API 说明进行推文共享 除了自定义文本显示之外 一切正常 例如 我希望用户像这样发推文 你觉得怎么样 我应该买这个吗 http url etc ht
  • 调整未知大小的张量流图像的大小

    我有一个张量流 UNet 风格的网络 目前我指定输入和目标图像如下 self inputTensors tf placeholder tf float32 None opt inputHeight opt inputWidth opt in
  • 如何从多个 python-flask 子进程收集普罗米修斯指标?

    我有 main 函数 它生成两个单独的子进程 这两个子流程共享指标 如何共享两个流程的指标并保持更新 这是我的片段 以供更多理解 from multiprocessing import Process import prometheus c
  • 检查字符串是否包含前导字母

    如何检查我的字符串是否包含前导字母 在 C 中很容易 但我在 SQL 中这样做 有办法检查吗 如果是这样 我该如何删除它 前任 MyString A1234 更新后的字符串 1234 Use UPDATE YOUR TABLE SET yo
  • 我可以在运行时展开包含 C# 文字表达式的字符串吗

    如果我有一个包含 C 字符串文字表达式的字符串 我可以在运行时 扩展 它吗 public void TestEvaluateString string Dummy EvalString Contains r n new line Debug
  • 过滤以从数组中排除元素

    尝试从数组中过滤一些条目 不能保证它们位于主数组中 因此我正在通过迭代进行测试 total alpha bravo charlie delta echo hide charlie echo pick for i in total if hi
  • 通过 API 中的 Dynamodb 代理服务发布新记录时出现 SerializationException

    我正进入 状态 type com amazon coral service SerializationException 作为邮递员和 API 网关测试控制台中的回复 尝试使用 API 代理服务将记录直接发布到 dynamodb 我指的是这
  • 当命令有空格时将命令输出检索到变量

    我在很多地方读到可以使用 Windows 批处理文件for获取命令的输出并将其放入变量中 如下所示 FOR F G IN foo command DO SET FOO G 伟大的 所以我的foo command实际上是C Program F
  • Python3错误:initial_value必须是str或None,带有StringIO

    在移植代码时python2 to 3 从 URL 读取时出现此错误 类型错误 initial value 必须是 str 或 None 而不是 bytes import urllib import json import gzip from
  • 如何保持 Google Dataproc master 运行?

    我在 Dataproc 上创建了一个集群 效果很好 但是 当集群空闲一段时间 约90分钟 后 主节点将自动停止 我创建的每个集群都会发生这种情况 我看到这里有一个类似的问题 继续运行 Dataproc 主节点 https stackover
  • 如何在 cmake Android Studio 中添加 cflag?

    如何在 Cmake 配置文件中添加 D FILE OFFSET BITS 64 我试图在 build gradle 中添加为 cflag 但它不起作用 externalNativeBuild cmake cppFlags cFlags D
  • 从浏览器链接打开 Play 商店应用

    From 这个帖子 https stackoverflow com questions 35430336 redirect users to itunes app store or google play store我能够创建一个功能 将用
  • Laravel 删除查询生成器

    在 Laravel 4 中Illuminate Database Query in a Builder class delete函数接受null as an id范围 这个函数的行为意味着如果我有类似的东西 DB table users g
  • 通过意图从另一个活动关闭活动

    我想从第一个活动开始 并且想有目的地关闭第一个活动 我试过了 但接收器不起作用 我的应用程序中有不同的接收器 所以我希望仅从 FirstReceiver 接收此意图 我该怎么做 public class First extends Acti