我尝试读取短信内容,但未通过PermissionDenial异常。我相信我的语法正确,但可能缺少我的清单中的必要元素而不是权限(我创建它使用的是Android Studio&#39的新项目向导)。
我的AndroidManifest.xml文件是(请注意,我已经在xml中移动了应用程序上方和下方的使用权限):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mytests.testapp" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.READ_SMS" />
</manifest>
并且正在读取短信的功能是:
public void loadMessages(){
Uri allMessages = Telephony.Sms.CONTENT_URI;
Cursor cursor = this.getContentResolver().query(allMessages, null, null, null, null);
while (cursor.moveToNext()){
for (int i = 0; i < cursor.getColumnCount(); i++){
Log.d(cursor.getColumnName(i) + "", cursor.getString(i) + "");
}
Log.d("one row finished", "*********");
}
}
答案 0 :(得分:0)
StudentTest.java:27: error: cannot find symbol
System.out.println(" compare as (should be +ve) " + si.compareTo(si2));
^
symbol: method compareTo(StudentInterface)
location: variable si of type StudentInterface
1 error
代码必须位于uses-permission
代码上方。不确定原因 - 很可能只是在设备上进行清晰解析的工件。