簡體   English   中英

發送短信:uid 10137沒有android.permission.SEND_SMS

[英]Sending SMS message: uid 10137 does not have android.permission.SEND_SMS

在我的第一個使用棒棒糖的手機中,程序運行良好,我可以發送和接收短信。 但是在使用棉花糖的第二部手機中,我的應用被強制關閉。 我不知道怎么了

這是強制關閉后的日志...

java.lang.IllegalStateException:無法在android.widget執行android.onClick的方法,在android.view.View $ DeclaredOnClickListener.onClick(View.java:4461)在android.view.View.performClick(View.java:5207) android.os.Handler.handleCallback(Handler.java:739)上的.CompoundButton.performClick(CompoundButton.java:122)在android.view.View $ PerformClick.run(View.java:21177)在android.os.Handler。 android.os.Looper.loop(Looper.java:148)的dispatchMessage(Handler.java:95)android.app.ActivityThread.main(ActivityThread.java:5458)的java.lang.reflect.Method.invoke(Native) com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:738)處com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)的原因:java.lang.reflect .java.lang.reflect.Method.invoke處的.InvocationTargetException(本地方法)android.view.View $ DeclaredOnClickListener.onClick(View.java:4456)... 10造成原因:java.lang.SecurityException:發送SMS消息: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.SmsManager.sendTextMessageInternal(SmsManager.java:311),位於com.example.tamvan.komunikasiberlapis.MainActivity.clicksaklar1GSMMode(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" />
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;
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM