我正在尝试测试我的应用程序是否已正确启动Android Dialer应用程序。
基于我所发现的单元测试和仪器,我创建了这个测试:
public void testPerformOperation() throws Exception {
Instrumentation.ActivityMonitor monitor = getInstrumentation().addMonitor("com.android.phone.Dialer", null, true);
operationPerformer.performOperation("tel:111222333");
Activity activity = monitor.waitForActivityWithTimeout(5000);
assertNotNull(activity);
}
但是这总是会返回AssertionFailedError。
我还尝试将addMonitor()
的第一个参数设置为IntentFilter.create(Intent.ACTION_DIAL, "vnd.android.cursor.dir/calls")
,但这给了我同样的错误。此外,我一直在寻找其他MimeTypes使用,但没有找到任何(看起来像拨号器使用没有MimeType)。
我应该如何检查拨号器是否已启动?
答案 0 :(得分:0)
检查您的活动是否正在运行
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo act: manager
.getRunningServices(Integer.MAX_VALUE)) {
if (MyActivity.class.getName().equals(
act.service.getClassName())) {
//do
return true;
}
}