Blackberry 使用ApplicationMenuItem覆盖RIM API中的默认消息发送者
我想知道是否有办法在消息编辑屏幕中创建一个ApplicationMenuItem,当选中它时,它会绕过默认的发送程序将消息发送到所选联系人本身。我对菜单项很满意,并且已经看到了如何通过检索“context”参数来执行类似的操作,但我不确定如何获取所选的消息正文和联系人 在ApplicationMenuItem中,消息编辑上下文的项将是 见代码:Blackberry 使用ApplicationMenuItem覆盖RIM API中的默认消息发送者,blackberry,java-me,Blackberry,Java Me,我想知道是否有办法在消息编辑屏幕中创建一个ApplicationMenuItem,当选中它时,它会绕过默认的发送程序将消息发送到所选联系人本身。我对菜单项很满意,并且已经看到了如何通过检索“context”参数来执行类似的操作,但我不确定如何获取所选的消息正文和联系人 在ApplicationMenuItem中,消息编辑上下文的项将是 见代码: package so.samples; import net.rim.blackberry.api.invoke.Invoke; import net
package so.samples;
import net.rim.blackberry.api.invoke.Invoke;
import net.rim.blackberry.api.invoke.MessageArguments;
import net.rim.blackberry.api.mail.Address;
import net.rim.blackberry.api.mail.Message;
import net.rim.blackberry.api.mail.MessagingException;
import net.rim.blackberry.api.menuitem.ApplicationMenuItem;
import net.rim.blackberry.api.menuitem.ApplicationMenuItemRepository;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.Dialog;
public class SOComposeMsgMenuApp extends UiApplication {
public static void main(String[] args) {
(new SOComposeMsgMenuApp()).enterEventDispatcher();
}
public SOComposeMsgMenuApp() {
ApplicationMenuItem emailMenuItem = new ApplicationMenuItem(0) {
public Object run(final Object context) {
if (context instanceof Message) {
StringBuffer text = new StringBuffer("Message \nTo:\n");
Message msg = (Message) context;
Address[] to = new Address[] {};
try {
to = msg.getRecipients(Message.RecipientType.TO);
} catch (MessagingException e) {
}
for (int i = 0; i < to.length; i++) {
text.append(to[i].toString());
text.append("\n");
}
text.append("Body:\n");
text.append(msg.getBodyText());
Dialog.inform(text.toString());
}
return context;
}
public String toString() {
return "My Menu Item";
}
};
ApplicationMenuItemRepository amir = ApplicationMenuItemRepository
.getInstance();
amir.addMenuItem(ApplicationMenuItemRepository.MENUITEM_EMAIL_EDIT,
emailMenuItem);
Invoke.invokeApplication(Invoke.APP_TYPE_MESSAGES,
new MessageArguments(MessageArguments.ARG_NEW, "", "testing",
"just trying to test menu item from compose screen"));
}
}
包装so.samples;
导入net.rim.blackberry.api.invoke.invoke;
导入net.rim.blackberry.api.invoke.MessageArguments;
导入net.rim.blackberry.api.mail.Address;
导入net.rim.blackberry.api.mail.Message;
导入net.rim.blackberry.api.mail.MessaginException;
导入net.rim.blackberry.api.menuitem.ApplicationMenuItem;
导入net.rim.blackberry.api.menuitem.ApplicationMenuItemRepository;
导入net.rim.device.api.ui.ui应用程序;
导入net.rim.device.api.ui.component.Dialog;
公共类SOComposeMsgMenuApp扩展了UiApplication{
公共静态void main(字符串[]args){
(新的SOComposeMsgMenuApp()).enterEventDispatcher();
}
公共SOComposeMsgMenuApp(){
ApplicationMenuItem emailMenuItem=新的ApplicationMenuItem(0){
公共对象运行(最终对象上下文){
if(消息的上下文实例){
StringBuffer text=新的StringBuffer(“消息\nTo:\n”);
消息msg=(消息)上下文;
地址[]至=新地址[]{};
试一试{
to=msg.getRecipients(Message.RecipientType.to);
}捕获(消息异常e){
}
for(int i=0;i