"Send To"메뉴에 액세스하려는 것으로, 분명히 등록 된 모든 수신자를 표시합니다. 내 휴대 전화에
,이 메뉴가 포함 * 이메일 * PIN * SMS * MMS * BBM 연락처 나는 자바에서이 작업을 수행 할 수있는 방법Blackberry "Send To"메뉴에 액세스
?
편집 : BB OS 4.0 이상 플랫폼의 경우.
다음은 getMenu 메소드를 재정 의하여 지금까지 내가 사용 해왔다. 시뮬레이터에서 getAppName()에서
, 나는 같은 값을 받았는데 : * net_rim_bb_sendusingbluetoothapp * net_rim_bb_sendasemailapp * net_rim_bb_sendtomessengercontactapp
그래서 내가 그 일부하려면 string.replace()를 사용합니다 기대하지만 난 때
reg.invoke(inv);
을 아래에서 사용하십시오. 메일 응용 프로그램이 시작되지만 제목이나 메시지 내용과 같은 인수는 표시되지 않습니다. 어떻게 설정해야합니까?
또한 setData()의 경우 임의의 문자열을 전달합니다. (나는 그것이 내가 더 의미있는 것을 설정해야한다고 확신하지만, 나는 무엇을 모른다.)
public Menu getMenu(int instance) {
Menu menu = super.getMenu(instance);
final Registry reg = Registry.getRegistry(CLASSNAME);
ContentHandler[] handles = reg.forAction(ContentHandler.ACTION_SEND);
for (int i=0;i<handles.length;i++)
{
String name = handles[i].getAppName();
final Invocation inv = new Invocation();
inv.setURL(sendToUrl);
inv.setResponseRequired(false);
inv.setType(handles[i].getType(0));
inv.setID(handles[i].getID());
inv.setData(sendToUrl.getBytes());
inv.setAction(handles[i].getAction(0));
inv.setArgs(new String[]{sendToUrl});
MenuItem mit = new MenuItem(new StringProvider(name), i, i)
{
public void run() {
try {
reg.invoke(inv);
//inv.open(false);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
//ContentHandlerMenu contentHandlerMenu
//= new ContentHandlerMenu(inv, reg, "Send to "+ name, i,i);
//menu.add(contentHandlerMenu);
menu.add(mit);
}
return menu;
}
@ 빅의 대답은 당신이 얻는 최고입니다. RIM은 OS 7까지 Send 메뉴를 공개하지 않았습니다. –
@Scott, Blackberry 앱 (OS 5.0)의 트위터를보고 "보내기"메뉴가 OS에서 가져온 것처럼 보입니다. 그렇지 않다면, 트위터는 훌륭하게 해냈습니다. – Irwin
블랙 베리를위한 트위터 앱 (적어도 "트위터"라고 불리는 것)은 실제로 RIM이 개발했습니다;) 내 생각에 그들이 원하는대로 할 수 있습니다. –