2011-08-11 4 views
0

"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; 

    } 
+0

@ 빅의 대답은 당신이 얻는 최고입니다. RIM은 OS 7까지 Send 메뉴를 공개하지 않았습니다. –

+0

@Scott, Blackberry 앱 (OS 5.0)의 트위터를보고 "보내기"메뉴가 OS에서 가져온 것처럼 보입니다. 그렇지 않다면, 트위터는 훌륭하게 해냈습니다. – Irwin

+1

블랙 베리를위한 트위터 앱 (적어도 "트위터"라고 불리는 것)은 실제로 RIM이 개발했습니다;) 내 생각에 그들이 원하는대로 할 수 있습니다. –

답변

4

이게 필요한가요? Send Menu API. Google에서 검색하는 것을 발견했습니다 ... 너무 어렵지 않았습니다.