2013-08-03 34 views
1

我正在寻找一种方法在我的集成测试中获取当前设备的序列号。Android集成测试应用程序权限

现在,调用

TelephonyManager manager = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); 
String deviceId = manager.getDeviceId(); 
在我的测试方法

的时候,我得到java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10227 nor current process has android.permission.READ_PHONE_STATE.

我在测试项目AndroidManifest.xml添加<uses-permission android:name="android.permission.READ_PHONE_STATE"/>,但是这并没有帮助。

回答

2

您应该检查在应用程序的AndroidManifest.xml READ_PHONE_STATE许可是否加入与否。

这样的:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

如果它不存在,请添加它,因为你的测试用例不能超过你的应用程序更多的特权。

+0

好吧,就是这一点。我不希望我的应用程序拥有此权限... –

+1

然后,无法在测试用例中访问当前设备的序列号。因为,你的**测试用例不能比你的应用程序拥有更多的特权**。 –

+0

添加上述行之后,仍然我得到的问题如何解决它 –