Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android集成测试应用程序权限_Android_Android Testing_Android Permissions - Fatal编程技术网

Android集成测试应用程序权限

Android集成测试应用程序权限,android,android-testing,android-permissions,Android,Android Testing,Android Permissions,我正在寻找一种在集成测试中获取当前设备序列号的方法 现在,打电话的时候 TelephonyManager manager = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); String deviceId = manager.getDeviceId(); 在我的测试方法中,我得到java.lang.SecurityException:需要读取电话\状态:用户10227和当前进程都没有an

我正在寻找一种在集成测试中获取当前设备序列号的方法

现在,打电话的时候

TelephonyManager manager = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE);
String deviceId = manager.getDeviceId();
在我的测试方法中,我得到
java.lang.SecurityException:需要读取电话\状态:用户10227和当前进程都没有android.permission.READ\u电话\状态。


我在我的测试项目中添加了
AndroidManifest.xml
,但这没有帮助。

您应该检查是否在应用程序的AndroidManifest.xml中添加了Read\u Phone\u State权限

像这样:

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


如果没有,请添加它,因为您的testcase不能拥有比您的应用程序更多的权限。

则无法在testcase中访问当前设备的序列号。因为,您的测试用例不能比您的应用程序拥有更多的特权。在添加了上述行之后,我仍然得到了一个如何解决的问题it@karthikpamidimarri您是否检查了清单文件(主应用程序和测试应用程序)中是否都存在权限?我也面临相同的权限问题。最后,为了开发,我硬编码了字符串deviceId。但对于生产,我使用了getDeviceId();它在模拟器中工作。