2013-08-03 32 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

添加上述行之後,仍然我得到的問題如何解決它 –