我有一个活动android:launchMode="singleInstance"
。我想从此启动相机,然后处理结果,但startActivityForResult
不适用于 singleInstance。那么也许有可能使用onNewIntent
方法从相机中获得结果?如果可能,我该如何实施?
问问题
523 次
1 回答
0
您可能希望同时查看 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);
}
}
}
于 2016-05-02T16:18:37.820 回答