android-Android:捕获一个activity的返回

问题描述

Android:捕获一个activity的返回

关于启动一个新的activity我遇到了一个问题。主要的问题就是,在一个视图上我有三个tab
A) 包含gMap activity
B) camera activity
C)一些随机的文本字段
要求就是这个应用程序要在肖像模式下运行。
除了Camera Preview Surface (B),所有的三个tab都正常。它旋转了90度。唯一的方法是把应用程序设置成横屏显示模式,移除所有的标签。但是这样是非常不切实际的。
我的解决方案就是:代替
我的camera activity和一个空的常规activity,除了

Intent i = new Intent(this,CameraActivity.class);
    startActivity(i);

这将启动我的CameraActivity。而且很正常。我必须做一个包含3个图片的线性布局使它看起来像真正的tab,所以我可以试着模拟操作系统的tab,旋转屏幕成横屏然后保持视觉效果作为图像。用户可以点击其中的一个图像(按钮)来显示下一个tab。这是我的想法。它应该在一个tab中退出我的‘camera activity’,返回到‘blank activity’,它应该解释为从我的image中单击desiered tab。

最主要的就是,当它返回时,它在一个tab下返回一个空白(黑色)页面(因为它是空的)。我怎么能够捕获调用activity的返回这个页面的返回事件,然后看看做了什么动作?
当点击退出camera activity时,我可以设置一个点击的监听事件以便可以对假tab(图像)被点击做出会用。一旦退出,tab应该更新以便你来返回。有什么建议么?
谢谢。

解决方案

我只专注于回答怎么解决你的这个很紧急的问题,所以答案也你想要的。
捕获在另外一个activity中的一个activity的动作需要三个步骤。
加载第二个activity(你的‘camera activity’)作为一个子activity,用startActivityForResult而不是startActivity。

Intent i = new Intent(this,CameraActivity.class);
startActivityForResult(i, STATIC_INTEGER_VALUE);

在这个子activity(camera activity)中,当你返回到父app时用额外的bundle,你需要创建一个新的包含索引tab的intent来显示,而不仅仅是当一个用户点击不同的tab图片的时候关闭activity。在关闭camera activity结束之前传递它到父调用setResult。

resultIntent = new Intent(null);
resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, tabIndexValue);
setResult(Activity.RESULT_OK, resultIntent);
finish();

最后一步是在调用activity的时候,重写onActivityResult来监听camera activity的回调。从返回的Intent获得额外的来决定你想要显示的索引tab

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  switch(requestCode) {
    case (STATIC_INTEGER_VALUE) : {
      if (resultCode == Activity.RESULT_OK) {
      int tabIndex = data.getIntExtra(PUBLIC_STATIC_STRING_IDENTIFIER);
      // TODO Switch tabs using the index.
      }
      break;
    }
  }
}
时间: 2025-01-29 13:40:15

android-Android:捕获一个activity的返回的相关文章

android系统-android中当一个Activity启动后什么情况下会被destroy,什么情况下onstop

问题描述 android中当一个Activity启动后什么情况下会被destroy,什么情况下onstop android中当一个Activity启动后什么情况下会被destroy,什么情况下onstop 点击返回键是destroy还是onstop 如果是destroy那么什么情况下onstop 如果是onstop什么情况下destroy 解决方案 切换的时候会onstop,如果内存不足,程序出错,或者用户关闭,会destroy 解决方案二: 楼主你该重新学习下Activity的生命周期

安卓开发-android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢

问题描述 android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢 android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢 有没有Activity不需要xml文件的情况呢 解决方案 多个xml一般是需要适配不同大小的屏幕,安卓会根据屏幕大小自动加载不同size的屏幕的xml,安卓开发是mvc结构,activity一定需要一个view,通常是需要xml做view,但是也可以自定义一个view然后activity加载这个view

Android简单创建一个Activity的方法_Android

本文实例讲述了Android简单创建一个Activity的方法.分享给大家供大家参考,具体如下: 1) 创建一个android项目 填写项目信息 2) 创建一个新Activity 右键点击Eclipse左边(默认)你要加入Activity的包,比如,我的包是com.INdroid.layout.然后选New->Class,输入类名后(注意首字母大写),在Superclass的Browse那里点击.最后在Choose a type那里输入Activity.然后点OK就可以了 3) 创建Activi

Android简单创建一个Activity的方法

本文实例讲述了Android简单创建一个Activity的方法.分享给大家供大家参考,具体如下: 1) 创建一个android项目 填写项目信息 2) 创建一个新Activity 右键点击Eclipse左边(默认)你要加入Activity的包,比如,我的包是com.INdroid.layout.然后选New->Class,输入类名后(注意首字母大写),在Superclass的Browse那里点击.最后在Choose a type那里输入Activity.然后点OK就可以了 3) 创建Activi

android 获取上一个activity返回值的方法_Android

activity A和B A 获取数据的activity  B返回数据的activity 点击A上的按钮,在A的textview上显示B中的联系人列表选中的数据 用到baseadapter 1:在主配置文件中声明Bactivity 和 注册通讯录的读写权限 [html] 复制代码 代码如下: <span style="font-size:18px;"> <!-- 注册通讯录的读写权限 -->  <uses-permission android:name=&

android 获取上一个activity返回值的方法

activity A和B A 获取数据的activity  B返回数据的activity 点击A上的按钮,在A的textview上显示B中的联系人列表选中的数据 用到baseadapter 1:在主配置文件中声明Bactivity 和 注册通讯录的读写权限 [html]复制代码 代码如下:<span style="font-size:18px;"> <!-- 注册通讯录的读写权限 -->  <uses-permission android:name=&qu

Android学习小结之Activity保存和恢复状态_Android

Android中启动一个Activity如果点击Home键该Activity是不会被销毁的,但是当进行某些操作时某些数据就会丢失,如下: Java class: package com.king.activitytest2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import

通过实例简单讲解Android App中的Activity组件_Android

Activity是Android应用中,最直接与用户接触的组件,它负责加载View组件,使其展现给用户,并保持与用户的交互.所有的Activity组件均需要继承Activity类,这是一个Content的间接子类,包装了一些Activity的基本特性. View组件是所有UI组件.容器组件的基类,也就是说,它可以是一个布局容器,也可以是一个布局容器内的基本UI组件.View组件一般通过XML布局资源文件定义,同时Android系统也对这些View组件提供了对应的实现类.如果需要通过某个Activ

Android学习小结之Activity保存和恢复状态

Android中启动一个Activity如果点击Home键该Activity是不会被销毁的,但是当进行某些操作时某些数据就会丢失,如下: Java class: package com.king.activitytest2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import