android开发中调用拨号功能

风祭_将 发布于 2013/05/13 17:00
阅读 1K+
收藏 0

@邓凡平 你好,想跟你请教个问题:

我在自己编写的适配器中想要调用拨号功能,但是出现了如下错误,想问问是什么原因。

代码如下:

Activity activity=(Activity)context;

final String phoneNum = (String) dataMap.get("client_community_item_community_phone");//获得该小区的电话号码
   
    AlertDialog.Builder builder_call = new AlertDialog.Builder(context);  
    builder_call.setMessage("确定拨打该电话吗?");
    builder_call.setCancelable(false);
    builder_call.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.d("MySimpleAdapter_two", "单击对拨打电话的确定按钮,相应拨号事件");
String phone = phoneNum;
//handler_call.sendMessage(handler_call.obtainMessage(100, phone));
Log.d("MySimpleAdapter_two", "单击对拨打电话的确定按钮,相应拨号事件 phone="+phone);
Intent intent_call = new Intent();
intent_call.setAction("android.intent.action.CALL");
intent_call.addCategory("android.intent.category.DEFAULT");
intent_call.setData( android.net.Uri.parse("tel:"+ phone));
activity.startActivity(intent_call);//方法内部会自动为Intent添加类别:android.intent.category.DEFAULT
}
});


但点击确认拨号时出现了这个错误:

05-13 16:51:45.514: D/AndroidRuntime(872): Shutting down VM
05-13 16:51:45.514: W/dalvikvm(872): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
05-13 16:51:45.534: E/AndroidRuntime(872): FATAL EXCEPTION: main
05-13 16:51:45.534: E/AndroidRuntime(872): java.lang.NullPointerException
05-13 16:51:45.534: E/AndroidRuntime(872): at com.mojiang.client.community.MySimpleAdapter_two$1$1.onClick(MySimpleAdapter_two.java:120)
05-13 16:51:45.534: E/AndroidRuntime(872): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
05-13 16:51:45.534: E/AndroidRuntime(872): at android.os.Handler.dispatchMessage(Handler.java:99)
05-13 16:51:45.534: E/AndroidRuntime(872): at android.os.Looper.loop(Looper.java:123)
05-13 16:51:45.534: E/AndroidRuntime(872): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-13 16:51:45.534: E/AndroidRuntime(872): at java.lang.reflect.Method.invokeNative(Native Method)
05-13 16:51:45.534: E/AndroidRuntime(872): at java.lang.reflect.Method.invoke(Method.java:521)
05-13 16:51:45.534: E/AndroidRuntime(872): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-13 16:51:45.534: E/AndroidRuntime(872): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-13 16:51:45.534: E/AndroidRuntime(872): at dalvik.system.NativeStart.main(Native Method)


加载中
0
邓凡平
邓凡平
空指针错误啊。难道不会用eclipse调试玩玩?即使不会eclipse,堆栈总能看明白哈。看来你还要补充基础知识了。加油!
0
风祭_将
风祭_将

引用来自“邓凡平”的答案

空指针错误啊。难道不会用eclipse调试玩玩?即使不会eclipse,堆栈总能看明白哈。看来你还要补充基础知识了。加油!
貌似不是指针出问题,我在一个handler里面来做这个处理时也有点问题,但是我try{}catch{}一下之后又可以了~~~虽然可以了,但还是搞不懂哪里出了问题
返回顶部
顶部