在Android中删除SMS-java.lang.RuntimeException:无法启动活动ComponentInfo

问题描述

我正在尝试以编程方式删除我的android手机版本9.0 Oppo中的所有消息,而我一直在使用这两个功能

选项1

  public void del (){
    Uri.Builder builder;
    builder = Telephony.Sms.CONTENT_URI.buildUpon();
    builder.appendEncodedpath("your SMS ID here");
    Uri uri = builder.build();
    mContext.getContentResolver().delete(uri,null,null);

}

选项2

 mContext.getContentResolver().delete(Uri.parse("content://sms/inBox"),null);

权限

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

清单

<receiver android:name=".MmsReceiver"
        android:permission="android.permission.broADCAST_WAP_PUSH">
        <intent-filter>
            <action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
            <data android:mimeType="application/vnd.wap.mms-message" />
        </intent-filter>
    </receiver>

    <activity android:name=".ComposeSmsActivity" >
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.broWSABLE" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
            <data android:scheme="mms" />
            <data android:scheme="mmsto" />
        </intent-filter>
    </activity>
    <receiver android:name=".SMSReceiver"
        android:permission="android.permission.broADCAST_SMS">
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            <action android:name="android.intent.category.DEFAULT"/>
            <action android:name="android.provider.Telephony.SMS_DELIVER" />
        </intent-filter>
    </receiver>


    <service android:name=".HeadlessSmsSendService"
        android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE"
        android:exported="true" >
        <intent-filter>
            <action android:name="android.intent.action.RESPOND_VIA_MESSAGE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
            <data android:scheme="mms" />
            <data android:scheme="mmsto" />
        </intent-filter>
    </service>

    <receiver
        android:name=".ConnectivityReceiver"
        android:enabled="true">
        <intent-filter>
            <action
                android:name="android.net.conn.CONNECTIVITY_CHANGE"
                tools:ignore="BatteryLife" />
        </intent-filter>
    </receiver>

已授予权限

    if(ContextCompat.checkSelfPermission(getBaseContext(),"android.permission.READ_SMS") == 
      PackageManager.PERMISSION_GRANTED) {
        // Todo : If Permission Granted Then Show SMS
        refreshSmsInBox();
    } else {
        // Todo : Then Set Permission
        final int REQUEST_CODE_ASK_PERMISSIONS = 123;
        ActivityCompat.requestPermissions(MainActivity.this,new String[] 
       {"android.permission.READ_SMS"},REQUEST_CODE_ASK_PERMISSIONS);
    }

我还将设备上的认短信阅读器设置为我的应用。但是我无法删除所有消息,有人知道吗?是第9版的Oppo手机有问题吗?

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)