我正在尝试从设备发送消息,但每当我从应用程序发送消息时,它都会给出SEND sms权限错误。 它给出了这个错误... id 10281没有android.permission.SEND_SMS。 我正在尝试使用代码。
public void fetch(String cstfrom, String msg) {
//Cursor c = database.rawQuery("SELECT * FROM " + tableName + " where Category = '" +categoryex + "'" , null);
String query = "SELECT mobile FROM employee WHERE empcst ='" + cstfrom + "' ";
database = dbHelper.getReadableDatabase();
Cursor cursor = database.rawQuery(query, null);
while (cursor.moveToNext()) {
itemname = cursor.getString(cursor.getColumnIndex("mobile"));
Toast.makeText(this, itemname, Toast.LENGTH_SHORT).show();
final int PERMISSION_REQUEST_CODE = 1;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
if (checkSelfPermission(Manifest.permission.SEND_SMS)
== PackageManager.PERMISSION_DENIED) {
Log.d("permission", "permission denied to SEND_SMS - requesting it");
String[] permissions = {Manifest.permission.SEND_SMS};
requestPermissions(permissions, PERMISSION_REQUEST_CODE);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(itemname, null, "hiii", null, null);
}
}
}
cursor.close();
}
答案 0 :(得分:1)
在清单
中加入此内容<uses-permission android:name="android.permission.SEND_SMS"/>
答案 1 :(得分:1)
您是否编辑过Manifest.xml文件?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.roa.sendsms"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.SEND_SMS"/>
答案 2 :(得分:0)
您的实现不是处理权限的正确方法。我已经建立了一个帮助库,我认为这将使您更容易。 说明:https://github.com/nabinbhandari/Android-Permissions