android 支持发送空短信
来源:互联网 发布:友盟推送 java服务端 编辑:程序博客网 时间:2024/06/07 21:11
method:
A) AP端修改:
1、将ComposeMessageActivity.java 中的 isPreparedForSending() 作如下修改(删掉的code也可以注释掉)
private boolean isPreparedForSending() {
if(isRecipientsEditorVisible())
{
String recipientText = mRecipientsEditor.getText()==null?””:mRecipientsEditor.getText().toString();
Return mSimCount>0 && !TextUtils.isEmpty(recipientText);
}else{
Return mSimCount>0;
}
}
2、在SmsSingleRecipientSender.java 中加入
import android.text.TextUtils;
并且在函数public boolean sendMessage(long token, int simId)中, " int messageCount = messages.size();"之前加入
if (TextUtils.isEmpty(mMessageText)){
messages.add("");
}
3、SmsMessageSender.java的修改queueMessage()方法
去掉对mMessageText==null的判断。
B) Framework端需合入Patch,Patch中的改动如下:
alps\mediatek\frameworks-ext\base\telephony\java\android\telephony\gemini\GeminiSmsManager中的
isValidParameters(String destinationAddress, String parts, PendingIntent sentIntent)方法,
将此方法中判断parts为空的部分去掉即可。
if (parts==null || parts.size()<1) {
//throw new IllegalArgumentException("Invalid message body"); <---屏蔽该语句即可
}
另外,如果在灭屏情况下,接收到信息,此时信息直接show,希望在DialogModeActivity 这个界面也能支持回复 空短信,除了上面的修改外,还需修改以下code:
将DialogModeActivity.java 这支文件,做如下修改:
1. 修改 private void updateSendButtonState() { 大约2242 行,将if(len>0) 修改为 if(len>=0), 修改后如下:
private void updateSendButtonState() {
boolean enable = false;
int len = mReplyEditor.getText().toString().length();
MmsLog.d(TAG, "DialogModeActivity.updateSendButtonState(): len = " + len);
if (mSendButton != null) {
if (len >= 0) { // modify for send blank sms
MmsLog.d(TAG, "updateSendButtonState(): mSimCount = " + mSimCount);
2. 修改:
onPreMessageSent(){
MmsLog.d(TAG, "DialogModeActivity.onPreMessageSent");
if(mUris!= null && !mUris.isEmpty()){
runOnUiThread(mResetMessageRunnable);
}
3. Runnable mResetMessageRunnable = new Runnable() {
public void run(){
if(mUris!= null && !mUris.isEmpty()){
MmsLog.d(TAG, "mResetMessageRunnable.run");
resetMessage();
}
}
};
注意:对于KK版本的手机,修改方法稍有变动,变动主要有两点:
1.SmsMessageSender.java的修改queueMessage()方法去掉对MessageText==null的判断====>
SmsMessageSender.java的修改queueMessage()方法去掉对(mMessageText == null) || mMessageText.isEmpty() 的判断
2.GeminiSmsManager.java KK中无此文件,改为修改===>
packages/apps/Mms/src/com/mediatek/encapsulation/android/telephony/gemini/EncapsulatedGeminiSmsManager.java
frameworks/opt/telephony/src/java/android/telephony/SmsManager.java
mediatek/frameworks/opt/telephony/src/java/com/mediatek/telephony/SmsManagerEx.java
修改方法同JB:
if (parts==null || parts.size()<1) {
//throw new IllegalArgumentException("Invalid message body"); <---屏蔽该语句即可
}
A) AP端修改:
1、将ComposeMessageActivity.java 中的 isPreparedForSending() 作如下修改(删掉的code也可以注释掉)
private boolean isPreparedForSending() {
if(isRecipientsEditorVisible())
{
String recipientText = mRecipientsEditor.getText()==null?””:mRecipientsEditor.getText().toString();
Return mSimCount>0 && !TextUtils.isEmpty(recipientText);
}else{
Return mSimCount>0;
}
}
2、在SmsSingleRecipientSender.java 中加入
import android.text.TextUtils;
并且在函数public boolean sendMessage(long token, int simId)中, " int messageCount = messages.size();"之前加入
if (TextUtils.isEmpty(mMessageText)){
messages.add("");
}
3、SmsMessageSender.java的修改queueMessage()方法
去掉对mMessageText==null的判断。
B) Framework端需合入Patch,Patch中的改动如下:
alps\mediatek\frameworks-ext\base\telephony\java\android\telephony\gemini\GeminiSmsManager中的
isValidParameters(String destinationAddress, String parts, PendingIntent sentIntent)方法,
将此方法中判断parts为空的部分去掉即可。
if (parts==null || parts.size()<1) {
//throw new IllegalArgumentException("Invalid message body"); <---屏蔽该语句即可
}
另外,如果在灭屏情况下,接收到信息,此时信息直接show,希望在DialogModeActivity 这个界面也能支持回复 空短信,除了上面的修改外,还需修改以下code:
将DialogModeActivity.java 这支文件,做如下修改:
1. 修改 private void updateSendButtonState() { 大约2242 行,将if(len>0) 修改为 if(len>=0), 修改后如下:
private void updateSendButtonState() {
boolean enable = false;
int len = mReplyEditor.getText().toString().length();
MmsLog.d(TAG, "DialogModeActivity.updateSendButtonState(): len = " + len);
if (mSendButton != null) {
if (len >= 0) { // modify for send blank sms
MmsLog.d(TAG, "updateSendButtonState(): mSimCount = " + mSimCount);
2. 修改:
onPreMessageSent(){
MmsLog.d(TAG, "DialogModeActivity.onPreMessageSent");
if(mUris!= null && !mUris.isEmpty()){
runOnUiThread(mResetMessageRunnable);
}
3. Runnable mResetMessageRunnable = new Runnable() {
public void run(){
if(mUris!= null && !mUris.isEmpty()){
MmsLog.d(TAG, "mResetMessageRunnable.run");
resetMessage();
}
}
};
注意:对于KK版本的手机,修改方法稍有变动,变动主要有两点:
1.SmsMessageSender.java的修改queueMessage()方法去掉对MessageText==null的判断====>
SmsMessageSender.java的修改queueMessage()方法去掉对(mMessageText == null) || mMessageText.isEmpty() 的判断
2.GeminiSmsManager.java KK中无此文件,改为修改===>
packages/apps/Mms/src/com/mediatek/encapsulation/android/telephony/gemini/EncapsulatedGeminiSmsManager.java
frameworks/opt/telephony/src/java/android/telephony/SmsManager.java
mediatek/frameworks/opt/telephony/src/java/com/mediatek/telephony/SmsManagerEx.java
修改方法同JB:
if (parts==null || parts.size()<1) {
//throw new IllegalArgumentException("Invalid message body"); <---屏蔽该语句即可
}
0 0
- android 支持发送空短信
- android 中发送短信
- android中发送短信
- android发送短信
- Android 发送短信
- Android自动发送短信
- Android发送短信
- android 发送短信sms
- android 发送短信
- android发送短信
- Android短信发送器
- android 之短信发送
- Android自动发送短信
- android短信发送
- Android发送短信
- android 发送短信问题
- android 短信发送程序
- Android发送短信
- iOS开发--MKMapView截图
- Swift面试题总结(持续更新中)
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
- "_OBJC_CLASS_$_Play", referenced from:
- Codeforces Round #287 (Div. 2) 题解
- android 支持发送空短信
- linux网卡phy-mii驱动mdio调试zz150120a
- ajax上传图片TypeError: 'append' called on an object that does not implement interface FormData.
- C语言声明与定义
- android USB OTG功能如何打开及实现
- 把变量和函数的存储类别说清楚也谈Linux内存管理
- iOS学习之UISwitch控件两种使用方法和监听
- android 5.0 编辑彩信时日历和联系人附件不能与其他附件共存
- 在Android4.2中实现bluetooth A2dp Sink(二)——移植Android5.0蓝牙协议栈