意图和广播接收器的麻烦

时间:2011-04-27 01:58:41

标签: android android-intent

发送和接收意图时遇到问题。相关代码如下......我发现它没有任何问题。我不肯道要放在那里......现在意图被广播,接收器永远不会获得权限。然而,短信工作正常。它可能是清单吗?我认为这与行动有关......

PS。我知道我的命名中的拼写错误...大声笑

在服务中:

public final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";

textFilter = new IntentFilter(SMS_RECEIVED);
textFilter.addAction("ADD_NUMBER_TO_PERMISSIONS");


registerReceiver(incomingReciever,textFilter);

BroadcastReceiver incomingReciever = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent _intent) {
        if(_intent.getAction().equals(SMS_RECEIVED)) {
            //do some stuff
            }   
        if(_intent.getAction().equals("ADD_NUMBER_TO_PERMISSIONS")) {   
                //do some stuff
            }
        }   
    }   
}; 

然后是另一项活动。

Intent resultIntent = new Intent("ADD_NUMBER_TO_PERMISSIONS");
resultIntent.putExtra("NameAndNumber", contact);
setResult(Activity.RESULT_OK, resultIntent);
sendBroadcast(resultIntent);

1 个答案:

答案 0 :(得分:1)

确保您在onResume()中注册广播,并在活动的onPause()中取消注册。

此外,您可能需要在清单中使用以下代码。

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