当前位置: 首页 > 知识库问答 >
问题:

React native Android:应用程序在其他活动中的状态

锺离昂然
2023-03-14

我不希望我的应用程序要求pin后,用户采取了一张照片,所以我需要检测去相机活动不是背景状态。我要做什么?

注:1。它在ios 2上工作得很好。我尝试react native AppState在Android上没有“inactive”状态,但它不工作(这可能是因为我的应用程序usr react-native-navigation和MainActivity是extend SplashActivity)

共有1个答案

景育
2023-03-14

我的解决办法是

(defn next-state [previous current]
  (case previous
    "in-other-app" (case current
                     "active" "back-from-other-app"
                     "inactive" "in-other-app"
                     "background" "in-other-app")
    "back-from-other-app" current
    current))

(def previous-state-atom (atom (.-currentState app-state)))
(defn add-app-state-listener [f]
  (.addEventListener app-state "change"
    (fn [state]
      (let [current-state (next-state @previous-state-atom state)]
        (f current-state)
        (reset! previous-state-atom current-state)))))

基本上,我会跟踪上一个状态,并使用该状态和下一个状态来触发自定义事件(即用字符串触发一个函数)

希望这能帮助到某人...

(defn mark-open-other-app!
  "!!!MUST CALL!!! before any call that results in the opening of another app
  like ImagePicker/showImagePicker or c/open-link."
  []
  (when (= :android (di/device))
    (reset! previous-state-atom "in-other-app")))
(defn cancel-open-other-app!
  "Api's like ImagePicker/showImagePicker can be cancelled in which case this function must be called to reset the app state"
  []
  (when (= :android (di/device))
    (reset! previous-state-atom "active")))
 类似资料:
  • 我想直接从我的应用程序运行另一个应用程序(Polaris Office)。但它也应该直接打开PDF文件。 我尝试了以下代码: 知道我该怎么做吗?我当前的代码给出了错误消息: 原因:java。lang.SecurityException:权限拒绝:启动Intent{act=android.Intent.action.MAIN dat=file:///mnt/sdcard/pdf.pdftyp=app

  • 我的工作与Javawebapp与Apache Tomcat一起运行。Tomcat线程池的最大线程数为800,minSpareThread为25。当它运行时,它通常在给定时间运行大约400个线程。 比方说,我有一个计算成本很高的非阻塞任务,我必须在我的Tomcat应用程序中完成,在这个应用程序中,ForkJoinPool。commonPool用于更有效地解决任务。 因为我的ApacheTomcat应

  • Photoshop 提供许多可帮助您在其它应用程序中使用图像的功能。由于 Adobe 产品之间是紧密集成的,因此许多 Adobe 应用程序都可以直接导入 Photoshop (PSD) 格式文件并使用图层、图层样式、蒙版、透明度及效果等 Photoshop 功能。 为页面排版程序准备图像 如何为页面排版程序准备图像取决于程序可识别的文件格式: Adobe InDesign 2.0 和更高版本可以放

  • 我有3个活动A、B和C。A导致B,B导致C。我希望能够在A和B之间来回移动,但我希望在C开始后完成A和B。我知道如何在通过意图启动C时关闭B,但在启动C时如何关闭A?

  • 问题内容: 有人知道如何从其他活动中关闭一个活动吗?例如:我有3个活动(活动A,B和C),并且可以从活动C中关闭活动A。我的活动结构是活动A->活动B->活动C如何从中关闭活动A活动C? 我曾尝试此代码: 但是该代码只能关闭活动B的活动A,而不能直接关闭活动C的活动A。 有谁知道直接从其他活动关闭活动?谢谢.. 问题答案: