Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 发送SMS消息:uid 10137没有android.permission.SEND\u SMS_Java_Android_Sms_Android 5.0 Lollipop - Fatal编程技术网

Java 发送SMS消息:uid 10137没有android.permission.SEND\u SMS

Java 发送SMS消息:uid 10137没有android.permission.SEND\u SMS,java,android,sms,android-5.0-lollipop,Java,Android,Sms,Android 5.0 Lollipop,在我的第一部使用棒棒糖的手机中,程序运行良好,我可以发送和接收短信。但是,在我的第二部手机上,我的应用程序被强制关闭了。我不知道有什么问题 这是强行关闭后的日志 java.lang.IllegalStateException:无法执行的方法 安卓:点击 view.view$DeclaredOnClickListener.onClick(view.java:4461)位于 android.view.view.performClick(view.java:5207)位于 performClick(C

在我的第一部使用棒棒糖的手机中,程序运行良好,我可以发送和接收短信。但是,在我的第二部手机上,我的应用程序被强制关闭了。我不知道有什么问题

这是强行关闭后的日志

java.lang.IllegalStateException:无法执行的方法 安卓:点击 view.view$DeclaredOnClickListener.onClick(view.java:4461)位于 android.view.view.performClick(view.java:5207)位于 performClick(CompoundButton.java:122)位于 查看$PerformClick.run(view.java:21177) handleCallback(Handler.java:739)位于 dispatchMessage(Handler.java:95)位于 Looper.loop(Looper.java:148)位于 android.app.ActivityThread.main(ActivityThread.java:5458)位于 java.lang.reflect.Method.invoke(本机方法)位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)上 by:java.lang.reflect.InvocationTargetException位于 java.lang.reflect.Method.invoke(本机方法)位于 view.view$DeclaredOnClickListener.onClick(view.java:4456)。。。 10个以上原因:java.lang.SecurityException:发送短信: uid 10137没有android.permission.SEND_SMS。在 android.os.Parcel.readException(Parcel.java:1620)位于 android.os.Parcel.readException(Parcel.java:1573)位于 com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:842) 在 android.telephony.smsmsmanager.sendTextMessageInternal(smsmsmanager.java:311) 位于android.telephony.smsmsmanager.sendTextMessage(smsmsmanager.java:294) 在 com.example.tamvan.komunikasiberlapis.MainActivity.ClickSakla1GSMMode(MainActivity.java:379) ... 还有12个

这是我在舱单上的许可

<uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />

对于棉花糖,您需要添加权限 代码: ... 私有静态最终整数权限\u发送\u短信=1; ... if(ActivityCompat.checkSelfPermission(this,Manifest.permission.SEND_SMS)!=PackageManager.permission_已授予) { ActivityCompat.requestPermissions(这是一个新字符串[]{Manifest.permission.SEND_SMS},permission_SEND_SMS}); } 其他的 { //发送或阅读短信 } ... @凌驾 public void onRequestPermissionsResult(int-requestCode、字符串[]权限、int[]grantResults) { 开关(请求代码) { 案例权限\u发送\u短信: if(grantResults!=null&&grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION\u已授予) { //发送或阅读短信 } 打破 } }
当我按下按钮发送短信时,问题可能会重复,我的应用程序会崩溃,是的,因为你实际上还没有权限。阅读链接帖子上的已接受答案。它解释了为什么会发生这种情况,你需要做什么,甚至提供了一个临时的解决办法。 For Marshmallow, You need to add permission Code: ... private static final int PERMISSION_SEND_SMS = 1; ... if(ActivityCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, PERMISSION_SEND_SMS); } else { //do send or read sms } ... @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch(requestCode) { case PERMISSION_SEND_SMS: if(grantResults != null && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //do send or read sms } break; } }