编写广播时出现Exported receiver does not require permission

时间:2021-02-14 23:19:48

第一种解决方案:

加上android:exported = "false"可以解决这个警告。 

<activity   
  android:name=".MainActivity"  
  android:exported="false">  
    <intent-filter>  
        <action android:name="android.intent.action.VIEW" />  
        <data android:scheme="http" android:host="example.com" />  
    </intent-filter>  
</activity>  

其中android:exported = “false”而没有任何intent-filer的activity只能通过它的class名去调用,就是意味着,这个activity只能在当前的application中被使用,这种情况下android:exported的值为false,否则出现任何一个intent-filer,它的值则为true。

     但是就是解决不了,甚至出现

<receiver  name=".TextReceiver">

....................

<receiver/>中的TextReceiver无法跳转,这到底怎么搞呢,在网上找到啦一种方法,也就是在receiver中加入 android:permission="android.provider.Telephony.SMS_RECEIVED就OK啦

 <receiver
            android:name=".TextReceiver"
            android:permission="android.provider.Telephony.SMS_RECEIVED" >

。。。。。。。。。。。。。。

<receiver/>