java.lang.SecurityException: Sending SMS message: uid 10134 does not have android.permission.SEND_SMS. at android.os.Parcel.createException(Parcel.java:2071) at android.os.Parcel.readException(Parcel.java:2039) at android.os.Parcel.readException(Parcel.java:1987) at com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:1660) at android.telephony.SmsManager$1.onSuccess(SmsManager.java:389) at android.telephony.SmsManager.sendResolverResult(SmsManager.java:1383) at android.telephony.SmsManager.resolveSubscriptionForOperation(SmsManager.java:1351) at android.telephony.SmsManager.sendTextMessageInternal(SmsManager.java:384) at android.telephony.SmsManager.sendTextMessage(SmsManager.java:357) at com.example.test1.InboxActivity$2.onClick(InboxActivity.java:59) at android.view.View.performClick(View.java:7125) at android.view.View.performClickInternal(View.java:7102) at android.view.View.access$3500(View.java:801) at android.view.View$PerformClick.run(View.java:27336) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
时间: 2024-03-18 14:43:59 浏览: 192
根据你提供的信息,这是一个Android应用程序中的异常信息。该异常是由于应用程序尝试发送SMS短信,但该应用程序没有发送短信的权限。在Android应用程序中,需要在AndroidManifest.xml文件中声明应用程序需要的权限,这些权限包括访问硬件设备、使用网络等。在这种情况下,需要在AndroidManifest.xml文件中声明SEND_SMS权限,然后在运行时请求用户授权。
相关问题
java.lang.SecurityException: Permission Denial: updatePersistentConfiguration() from pid=10177, uid=10025 requires android.permission.CHANGE_CONFIGURATION at android.os.Parcel.readException(Parcel.java:2005) at android.os.Parcel.readException(Parcel.java:1951) at android.app.IActivityManager$Stub$Proxy.updatePersistentConfiguration(IActivityManager.java:7054)
这个错误是因为你的应用程序没有被授权使用 `android.permission.CHANGE_CONFIGURATION` 权限来更改设备的配置。你需要在你的应用程序的 `AndroidManifest.xml` 文件中添加以下权限声明:
```
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
```
在添加权限后,你需要重新安装应用程序并重新启动它,以确保权限被正确应用。
com.miui.frameworks.servicestests (1 Test) [1/1] com.android.server.location.gnss.hal.Gpo4ClientTest#init: FAILED (141ms) STACKTRACE: java.lang.SecurityException: uid 10289 does not have android.permission.ACCESS_COARSE_LOCATION or android.permission.ACCESS_FINE_LOCATION. at android.os.Parcel.createExceptionOrNull(Parcel.java:3011) at android.os.Parcel.createException(Parcel.java:2995) at android.os.Parcel.readException(Parcel.java:2978) at android.os.Parcel.readException(Parcel.java:2920) at android.location.ILocationManager$Stub$Proxy.registerLocationListener(ILocationManager.java:1291) at android.location.LocationManager.requestLocationUpdates(LocationManager.java:1551) at android.location.LocationManager.requestLocationUpdates(LocationManager.java:1234) at android.location.LocationManager.requestLocationUpdates(LocationManager.java:1199) at com.android.server.location.gnss.hal.Gpo4Client.registerPassiveLocationUpdates(Gpo4Client.java:198) at com.android.server.location.gnss.hal.Gpo4Client.init(Gpo4Client.java:78) at com.android.server.location.gnss.hal.Gpo4ClientTest.init(Gpo4ClientTest.java:209) ... 8 trimmed Caused by: android.os.RemoteException: Remote stack trace: at com.android.server.location.LocationPermissions.enforceLocationPermission(LocationPermissions.java:116) at com.android.server.location.LocationManagerService.registerLocationListener(LocationManagerService.java:786) at android.location.ILocationManager$Stub.onTransact(ILocationManager.java:582) at android.os.Binder.execTransactInternal(Binder.java:1285) at android.os.Binder.execTransact(Binder.java:1249)
这个错误是因为您的应用程序在运行时没有被授予访问设备位置的权限。您需要在运行时请求这些权限,以便您的应用程序能够使用它们。在您的应用程序中,您可以使用以下代码请求这些权限:
```
private static final int REQUEST_LOCATION_PERMISSION = 1;
// 请求位置权限
private void requestLocationPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
REQUEST_LOCATION_PERMISSION);
}
}
// 处理权限请求结果
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_LOCATION_PERMISSION) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限被授予,执行您需要的操作
} else {
// 权限被拒绝,提醒用户
}
}
}
```
请注意,这些权限是敏感权限,用户必须授予您的应用程序访问它们的权限。当您请求这些权限时,您应该解释为什么您需要它们并告诉用户,这将有助于提高用户信任度。
阅读全文