Android instrumentation.callActivityOnPause原因“;onCreate()之前的活动无法使用系统服务;

Android instrumentation.callActivityOnPause原因“;onCreate()之前的活动无法使用系统服务;,android,unit-testing,android-activity,android-testing,Android,Unit Testing,Android Activity,Android Testing,我目前正在设置单元测试来测试我的相机应用程序,当应用程序通过onPause回调进入后台时,我会释放相机手柄。当我调用活动的onPause方法时,我会得到: java.lang.IllegalStateException: System services not available to Activities before onCreate() at android.app.Activity.getSystemService(Activity.java:4738) at android.app.A

我目前正在设置单元测试来测试我的相机应用程序,当应用程序通过onPause回调进入后台时,我会释放相机手柄。当我调用活动的onPause方法时,我会得到:

java.lang.IllegalStateException: System services not available to Activities before onCreate()
at android.app.Activity.getSystemService(Activity.java:4738)
at android.app.Activity.getMultiWindowStyle(Activity.java:4563)
at android.app.Activity.getMultiWindowStyle(Activity.java:4568)
at android.app.Activity.onPause(Activity.java:1366)
at com.ricky.chow.cameraopencv.activity.MainCameraActivity.onPause(MainCameraActivity.java:57)
at android.app.Activity.performPause(Activity.java:5555)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1239)
at com.ricky.chow.cameraopencv.activity.MainCameraActivityTest.tearDownThisActivity(MainCameraActivityTest.java:58)
at com.ricky.chow.cameraopencv.activity.MainCameraActivityTest.testCameraPreviewExists(MainCameraActivityTest.java:78)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1729)
单元测试:

public class MainCameraActivityTest extends ActivityUnitTestCase<MainCameraActivity> {

private Intent mLaunchIntent;
private ImageButton captureButton;
private FrameLayout cameraPreviewView;
private Instrumentation mInstrumentation;
private MainCameraActivity mActivity;
public MainCameraActivityTest(Class<MainCameraActivity> activityClass) {
    super(activityClass);
}
public MainCameraActivityTest() {
    super(MainCameraActivity.class);
}


private void setUpThisActivity()
{
    mLaunchIntent = new Intent(getInstrumentation().getTargetContext(),
            MainCameraActivity.class);
    mInstrumentation = getInstrumentation();
    mActivity = startActivity(mLaunchIntent, null, null);

    mInstrumentation.callActivityOnStart(mActivity);
    mInstrumentation.callActivityOnResume(mActivity);
    captureButton = (ImageButton)mActivity.findViewById(R.id.CaptureButton);
    cameraPreviewView = (FrameLayout)mActivity.findViewById(R.id.CameraPreview);
}

private void tearDownThisActivity()
{
    mInstrumentation.callActivityOnPause(mActivity);
    mInstrumentation.callActivityOnStop(mActivity);
}

public void testCameraPrieviewWorks()
{
    setUpThisActivity();
    MedianCameraPost mMedianCam = (MedianCameraPost) cameraPreviewView.getChildAt(0);
    Assert.assertNotNull(mMedianCam);
    Assert.assertEquals(mMedianCam.getVisibility(), View.VISIBLE);
    tearDownThisActivity();
}
public类MainCameraActivityTest扩展了ActivityUnitTestCase{
私人意图;
私有图像按钮captureButton;
专用框架布局cameraPreviewView;
私用仪器;
私人活动;
公共MainCameraActivityTest(类activityClass){
超级(活动类);
}
公共MainCameraActivityTest(){
超级(MainCameraActivity.class);
}
私有void setUpThisActivity()
{
mLaunchIntent=新意图(getInstrumentation().getTargetContext(),
MainCameraActivity.class);
Minstruturement=getInstrumentation();
mActivity=startActivity(mLaunchIntent,null,null);
Minstrutation.callActivityOnStart(MacActivity);
Minstruentiation.callActivityOnResume(MacActivity);
captureButton=(ImageButton)mActivity.findViewById(R.id.captureButton);
cameraPreviewView=(FrameLayout)mActivity.findViewById(R.id.CameraPreview);
}
私有void删除此活动()
{
通话暂停(mActivity);
Minstruentation.callActivityOnStop(MacActivity);
}
公共无效testCameraPrieviewWorks()
{
setUpThisActivity();
MedianCameraPost mMedianCam=(MedianCameraPost)cameraPreviewView.getChildAt(0);
Assert.assertNotNull(mMedianCam);
Assert.assertEquals(mMedianCam.getVisibility(),View.VISIBLE);
撕下此活动();
}

}

我有同样的问题我也有同样的问题