<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-348  評論-598  文章-0  trackbacks-0
    需要使用反射機制將ITelephony反射出來進行操作。
    private void dial(String number) {
            Class
    <TelephonyManager> c = TelephonyManager.class;
            Method getITelephonyMethod 
    = null;
            
    try {
                getITelephonyMethod 
    = c.getDeclaredMethod("getITelephony",
                        (Class[]) 
    null);
                getITelephonyMethod.setAccessible(
    true);
            } 
    catch (SecurityException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (NoSuchMethodException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }

            
    try {
                TelephonyManager tManager 
    = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
                Object iTelephony;
                iTelephony 
    = (Object) getITelephonyMethod.invoke(tManager,(Object[]) null);
                Method dial 
    = iTelephony.getClass().getDeclaredMethod("dial", String.class);
                dial.invoke(iTelephony, number);
            } 
    catch (IllegalArgumentException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (IllegalAccessException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (SecurityException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (NoSuchMethodException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (InvocationTargetException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        
    private void call(String number) {
            Class
    <TelephonyManager> c = TelephonyManager.class;
            Method getITelephonyMethod 
    = null;
            
    try {
                getITelephonyMethod 
    = c.getDeclaredMethod("getITelephony",
                        (Class[]) 
    null);
                getITelephonyMethod.setAccessible(
    true);
            } 
    catch (SecurityException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (NoSuchMethodException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }

            
    try {
                TelephonyManager tManager 
    = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
                Object iTelephony;
                iTelephony 
    = (Object) getITelephonyMethod.invoke(tManager,(Object[]) null);
                Method dial 
    = iTelephony.getClass().getDeclaredMethod("call", String.class);
                dial.invoke(iTelephony, number);
            } 
    catch (IllegalArgumentException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (IllegalAccessException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (SecurityException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (NoSuchMethodException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    catch (InvocationTargetException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }


    ---------------------------------------------------------
    專注移動開發(fā)

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2011-01-25 14:38 TiGERTiAN 閱讀(10019) 評論(6)  編輯  收藏 所屬分類: Android

    評論:
    # re: Android彈出撥號界面和撥打電話實現 2012-04-04 11:12 | hello1719
    您好啊,我想問一下,為什么我用這段代碼的時候,有兩句報錯呢?如下所示

    iTelephony = (Object) getITelephonyMethod.invoke(tManager,(Object[]) null);
    dial.invoke(iTelephony, number);


    報錯內容是:Unhandled exception type InvocationTargetException

    您順便能把ITelephony.aidl 文件內容發(fā)一下嗎?是不是我少添加了什么內容呢?  回復  更多評論
      
    # re: Android彈出撥號界面和撥打電話實現 2012-04-04 18:23 | TiGERTiAN
    @hello1719
    跟AIDL沒啥關系吧,就是直接反射內部類的內部方法  回復  更多評論
      
    # re: Android彈出撥號界面和撥打電話實現 2012-04-06 10:19 | hello1719
    @TiGERTiAN
    嗯已經解決了。。
      回復  更多評論
      
    # re: Android彈出撥號界面和撥打電話實現 2013-01-08 09:25 | xiaotang_hb
    請問樓主,這里能改變,撥號界面和撥打界面嗎?顯示我的自定義界面UI?請教下,給我點思路。謝謝  回復  更多評論
      
    # re: Android彈出撥號界面和撥打電話實現 2016-03-08 16:45 | jaime
    請我dial和call方法有什么區(qū)別么?   回復  更多評論
      
    # re: Android彈出撥號界面和撥打電話實現 2016-03-09 10:44 | firetomato
    這找不到call是怎么回事?現在有別的方法實現這個功能嗎?  回復  更多評論
      
    主站蜘蛛池模板: 亚洲人妖女同在线播放| 亚洲中文字幕无码永久在线| 久久久无码精品亚洲日韩京东传媒| 岛国精品一区免费视频在线观看 | 国产gv天堂亚洲国产gv刚刚碰 | 国产精品综合专区中文字幕免费播放| 午夜视频免费观看| 久久亚洲精品无码gv| 免费黄色网址入口| 羞羞漫画页面免费入口欢迎你| 国产乱子伦精品免费女| 免费人成大片在线观看播放| 亚洲精品高清一二区久久| 一级特黄a免费大片| 亚洲人精品午夜射精日韩| 久热免费在线视频| 亚洲图片激情小说| 妞干网免费观看视频| 在线91精品亚洲网站精品成人| 亚洲av无码成人精品区在线播放 | 中文字幕天天躁日日躁狠狠躁免费| 亚洲国产成人精品不卡青青草原| 久久午夜伦鲁片免费无码| 亚洲va精品中文字幕| 国产美女a做受大片免费| 二级毛片免费观看全程| 亚洲福利视频一区| 免费做爰猛烈吃奶摸视频在线观看| 国产亚洲漂亮白嫩美女在线| 红杏亚洲影院一区二区三区 | 成人免费午夜视频| 久久久久久久久无码精品亚洲日韩| 亚洲国产婷婷综合在线精品| 免费无码H肉动漫在线观看麻豆| 亚洲中文字幕无码中文字| 永久免费看bbb| 日韩免费观看一区| 亚洲一区二区三区成人网站| 91麻豆精品国产自产在线观看亚洲 | 中文字幕乱码亚洲无线三区| 亚洲视频在线免费|