我正在開發一個短信應用程序。現在我的應用程序是手機上的默認短信應用程序。這意味着我的應用首先收到傳入的短信。現在,我想通過編程將應用程序的傳入短信發送到其他應用程序(內置短信應用程序)。Android - 廣播SMS意圖到其他(Biult-in短信應用程序)在Android的應用程序
注意:我不想更改默認的短信應用程序。
我的代碼從我的應用程序發送廣播到內置的短信應用 -
context.sendBroadcast(intent.setClassName(builtInSmsPackage, "com.android.mms.transaction.SmsReceiverService")
.setPackage(builtInSmsPackage)
.setAction("android.provider.Telephony.SMS_RECEIVED"));
但內置的短信應用不能接受,我是從我的應用程序發送短信意圖。
你不需要。系統負責發送'SMS_RECEIVED'廣播給所有聽它的應用程序。你的默認應用程序不需要做任何事情發生。但請注意,如果專用SMS應用程序不是默認應用程序,則預計會禁用其大部分功能,因此當您的應用程序爲默認應用程序時,它們可能不會監聽該廣播。 –
它的工作很好,直到果凍豆。但從kitkat它需要使我的應用程序默認的短信應用程序接收短信。然後只有我的應用程序可以收到短信。沒有其他人可以收到短信,而我的應用程序是默認的短信應用程序。我的廣播發送到默認的短信應用程序的代碼是 - context.sendBroadcast(intent.setClassName(builtInSmsPackage,「com.android.mms.transaction。SmsReceiverService「) //.setPackage(buildInSmsPackage) .setAction(」android.provider.Telephony.SMS_RECEIVED「)); –
」但是從kitkat它需要使我的應用程序默認的短信應用程序接收短信。「 - 不,它是沒有,你的應用程序不一定是接收傳入短信的默認設置,只需註冊一個Receiver進行SMS_RECEIVED操作,並獲得'RECEIVE_SMS'權限。「沒有其他人可以接收短信,而我的應用程序是默認的短信應用程序「 - 是的,他們可以,但他們可能不會聽他們。」我的代碼發送廣播...「 - 這是行不通的,因爲你的應用程序不具備必要的權限來廣播接收器 –