从finish()之后的活动获取结果;在Android单元测试中

从finish()之后的活动获取结果;在Android单元测试中,第1张

从finish()之后的活动获取结果;在Android单元测试中

您可以使用反射并直接从活动中获取值。

protected Intent assertFinishCalledWithResult(int resultCode) {  assertThat(isFinishCalled(), is(true));  try {    Field f = Activity.class.getDeclaredField("mResultCode");    f.setAccessible(true);    int actualResultCode = (Integer)f.get(getActivity());    assertThat(actualResultCode, is(resultCode));    f = Activity.class.getDeclaredField("mResultData");    f.setAccessible(true);    return (Intent)f.get(getActivity());  } catch (NoSuchFieldException e) {    throw new RuntimeException("Looks like the Android Activity class has changed it's   private fields for mResultCode or mResultData.  Time to update the reflection pre.", e);  } catch (Exception e) {    throw new RuntimeException(e);  }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5487064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存