Android从onNewIntent中的Camera Intent获取结果



我有一个带有android:launchMode="singleInstance"的"活动"。我想从中启动相机,然后处理结果,但startActivityForResult不适用于singleInstance。所以也许用onNewIntent方法从摄像机上得到结果是可能的?如果可能的话,我该如何实现?

您可能需要同时查看singleTask和singleInstance。

单一任务:

系统创建一个新任务,并在新任务的根位置实例化活动。但是,如果活动的实例已经存在于单独的任务中,则系统会通过调用其onNewIntent()方法将意图路由到现有实例,而不是创建新实例。一次只能存在一个活动实例。

注意:尽管活动是在新任务中开始的,但"上一步"按钮仍然将用户返回到上一个活动。

单个实例:

与"singleTask"相同,只是系统不会向持有实例的任务中启动任何其他活动。活动始终是其任务中唯一的成员;由该活动启动的任何活动都将在单独的任务中打开。

注意:这意味着,具有启动模式的活动始终处于单个活动实例任务。这是一种非常专业的模式,应该只能在完全作为一个整体实现的应用程序中使用活动

你可以试试这种

protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    Uri uri = intent.getData();
    if (uri != null && uri.toString().startsWith(CALLBACK_URL)) {
        try {
            //load image goes 
         } catch (Exception e) {
             Log.e(TAG, e.getMessage(), e);
         }
    }
}

最新更新