📅  最后修改于: 2023-12-03 15:11:53.074000             🧑  作者: Mango
在Android设备上,我们可以通过程序获取设备上的短信信息。这对于需要验证用户手机号码的应用程序来说非常有用。在本文中,我们将介绍如何在Android应用程序中获取短信。
要获取短信,我们需要在应用程序清单中声明以下权限:
<uses-permission android:name="android.permission.READ_SMS" />
这将确保我们有权限读取设备上的短信。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取设备上的短信
getSMS();
}
private void getSMS() {
// 查询设备上的短信
Cursor cursor = getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null);
// 遍历查询结果
if (cursor.moveToFirst()) {
do {
// 获取短信发送者的号码和内容
String number = cursor.getString(cursor.getColumnIndex("address"));
String body = cursor.getString(cursor.getColumnIndex("body"));
// 添加对该条短信的处理逻辑
Log.d("SMS", "Number: " + number + " Body: " + body);
} while (cursor.moveToNext());
}
// 关闭查询结果集
cursor.close();
}
}
上述代码首先声明了READ_SMS
权限,然后在应用程序启动时调用了getSMS()
方法来查询设备上收件箱中的短信。我们使用getContentResolver().query()
方法进行查询,并通过moveToFirst()
和moveToNext()
方法遍历所有查询结果。
对于查询结果中的每一条短信,我们可以获取发送者的电话号码和短信内容,并在控制台中打印出来。在实际应用中,可以向服务器发送短信内容,或者通过其他方式验证用户的手机号码。
在Android设备上获取短信是非常常见的任务,并且在许多应用程序中会用到。在本文中,我们介绍了如何声明必需的权限和查询设备上的短信,以获取所需的信息。希望这篇文章能够帮助您开始编写您自己的Android应用程序,以获取设备上的短信。