饶荣庆 -- 您今天UCWEB了吗?--http://www.ucweb.com

3G 手机开发网

   :: 首页 :: 联系 :: 聚合  :: 管理
  99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks

原文  http://www.3geye.net/?3/viewspace-3137

 

这个例子实在是简单的很,一个编辑器,加上一个确定就可以打电话了。
公布代码吧。

package com.gggeye.android;

import android.app.Activity;
import android.os.Bundle;
import android.os.DeadObjectException;
import android.os.IServiceManager;
import android.os.ServiceManagerNative;
import android.telephony.IPhone;
import android.view.Menu;
import android.widget.EditText;

public class PhoneCellDemo extends Activity {
    android.widget.EditText edit;
    String localPhoneNumber;
    String operatorISOCountry;
    String operatorName;

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        localPhoneNumber = android.os.SystemProperties
                .get(android.telephony.TelephonyProperties.PROPERTY_LINE1_NUMBER);
        operatorISOCountry = android.os.SystemProperties
                .get(android.telephony.TelephonyProperties.PROPERTY_OPERATOR_ISO_COUNTRY);
        operatorName = android.os.SystemProperties
                .get(android.telephony.TelephonyProperties.PROPERTY_OPERATOR_ALPHA);
        ;
        Logger.info("localPhoneNumber = > " + localPhoneNumber);
        Logger.info("operatorISOCountry = > " + operatorISOCountry);
        Logger.info("operatorISOCountry = > " + operatorName);
        edit = new EditText(this);
        this.setContentView(edit);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       super.onCreateOptionsMenu(menu);
       menu.add(0, 0, "打电话");
 
//       
       return true;
    }
//    @Override
//    public boolean onPrepareOptionsMenu(Menu menu){
//        super.onPrepareOptionsMenu(menu);

//        return true;
//    }
    @Override
    public boolean onOptionsItemSelected(Menu.Item item){
       switch (item.getId()) {
       case 0:
           this.cellPhone(this.edit.getText().toString());
           return true;
     
       }
       return false;
    }
    private void cellPhone(String Number){
        try {
            IPhone iPhone = getPhoneInterface();
            iPhone.call(Number);
        } catch (DeadObjectException e) {
            Logger.error(e);
        }
    }
   
    private static IPhone getPhoneInterface() throws DeadObjectException {
        IServiceManager sm = ServiceManagerNative.getDefault();
        IPhone phoneService = IPhone.Stub.asInterface(sm.getService("phone"));
        return phoneService;
    }
     

}
代码就这么简单,慢慢看吧。



爬虫工作室 -- 专业的手机软件开发工作室
3G视线 -- 专注手机软件开发
posted on 2008-03-21 22:46 3G工作室 阅读(2913) 评论(3)  编辑  收藏

Feedback

# re: 发布一个Android打电话的例子 2008-03-22 11:03 完美世界私服
http://www.wmsifu.cn  回复  更多评论
  

# re: 发布一个Android打电话的例子[未登录] 2009-02-18 16:17 winter
请问你的sdk是什么版本,为什么我在最新的sdk里找不见这三个类
import android.os.IServiceManager;
import android.os.ServiceManagerNative;
import android.telephony.IPhone;

谢谢!  回复  更多评论
  

# re: 发布一个Android打电话的例子[未登录] 2009-03-27 10:51 sky
我用的sdk是1.1的,但也找不到以下的东东
import android.os.IServiceManager;
import android.os.ServiceManagerNative;
import android.telephony.IPhone;   回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: