我有一个BroadcastReceiver在我的Android应用程序,它可以处理收到的短信,这样的静态注册:我的收到的SMS处理Receiver需要从系统获得什么权限?
<receiver
android:name=".receivers.SmsReceiver"
android:exported="true" >
<intent-filter android:priority="100" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
林特痕这一个警告,怎么一回事,因为接收器在不需要任何权限从主叫方出口。如果我将导出的属性设置为false,则在收到SMS消息时,系统无法呼叫Receiver。
那么当注册我的Receiver来处理传入的SMS消息时,我应该从系统需要什么权限?
编辑:
我不要求为“使用许可权”的标签,让我的应用程序来接收短信。我正在为我的Receiver请求正确的“android:permission”值,因此只有系统可以发送类似的广播消息,而另一个应用程序无法欺骗类似于我的应用程序的事件。
如:
<receiver
android:name=".receivers.SmsReceiver"
android:exported="true"
android:permission="com.android.permission.SOME_PERMISSION_ONLY_THE_SYSTEM_HAS">
<intent-filter android:priority="100" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
是与[this]相关的上述问题(http://code.google.com/p/android/issues/ detail?id = 36536)? – nandeesh
不幸的是,没有。我正在定义正确的标签,这样当系统收到SMS时,我会收到通知,而Lint不会将此视为错误。然而,它告诉我,我的Receiver需要一个“许可”标签,以便只有可信的来源才可以通知我的短信接收方(这应该只是系统)。但我无法找到我应该使用的权限。 –
我正在做类似的事情! http://stackoverflow.com/questions/14452808/sending-and-receiving-sms-mms-in-android – toobsco42