成都创新互联网站制作重庆分公司

android打电话,手机打电话app

android怎么调用手机系统打电话

新建一个Android工程,取名为TestCallphone

成都创新互联专注于伊吾企业网站建设,成都响应式网站建设公司,商城建设。伊吾网站建设公司,为伊吾等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

打开res|layout|activity_main.xml

编辑activity_main.xml,添加如下代码:

Button android:id="@+id/btn_call" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="直接呼叫联通客服10010" /

打开MainActivity.java,并编辑,添加如下代码:

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;

public class MainActivity extends Activity { private Button mCallButton;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mCallButton = (Button) findViewById(R.id.btn_call); mCallButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_CALL, Uri .parse("tel:10010")); startActivity(intent); } }); }

}

打开AndroidManifest.xml,添加拨打电话的权限,

uses-permission android:name="android.permission.CALL_PHONE"/

必须添加这条权限,否则无法拨打电话

6

连接手机,运行程序

android开发怎么拨打电话

无权限版(弹出拨号界面并自动输入电话号码,用户选择是否拨号):

import android.content.Context;

import android.content.Intent;

import android.net.Uri;

public void Call(String Num,Context c){

if(Num !=null  Num.length() 0){

Intent itt=new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+Num));

itt.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

c.startActivity(itt);

}

}

权限版(弹出拨号界面,自动输入电话号码并立刻拨号,在部分系统中会触发安全警告):

!--- 权限 ---

uses-permission android:name="android.permission.CALL_PHONE" /

import android.content.Context;

import android.content.Intent;

import android.net.Uri;

public void Call(String Num,Context c){

if(Num !=null  Num.length() 0){

Intent itt=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+Num));

itt.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

c.startActivity(itt);

}

}

android开发怎么给自己的设备打电话

很简单的,自己给自己打电话是接不通的。

Intent phoneIntent = new Intent(

"android.intent.action.CALL", Uri.parse("tel:"

+ inputStr));

// 启动

startActivity(phoneIntent);

如何向Android模拟器打电话

一、布局,拖一个框用来输入电话号码,一个按扭拨号

二、打电话的权限添加进来

uses-permission android:name="android.permission.CALL_PHONE"/

三、写拨号的点击事件

Activity:

public class DialerAction extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button button =(Button)findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener(){

publicvoid onClick(View v) {

EditTexteditText = (EditText)findViewById(R.id.mobile);

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ editText.getText()));

DialerAction.this.startActivity(intent);

}

});

}

}

四,输入另一个模拟器,例如5554 5556之类的号码就可以打电话了

Android模拟器怎么模拟打电话

在虚拟机同时开启两部Android,或者在旁边的电脑开启。一般电话号码就是Android左上角的5465.

100分 Android怎么调用打电话而不显示系统的通话界面

1、 用反射调用 “com.android.internal.telephony.PhoneFactory”,“com.android.internal.telephony.CallManager”,“com.android.internal.telephony.Phone”中的方法。

代码如下:

public void Call(String number, Context context) {

try {

final Class? phoneFactoryClass = Class.forName("com.android.internal.telephony.PhoneFactory");

Method makeDefaultPhonesMethod = phoneFactoryClass.getDeclaredMethod("makeDefaultPhones", Context.class);

makeDefaultPhonesMethod.invoke(null, context);

Method getDefaultPhone = phoneFactoryClass.getDeclaredMethod("getDefaultPhone");

Object phone = getDefaultPhone.invoke(getDefaultPhone);

final Class? callManagerClass = Class.forName("com.android.internal.telephony.CallManager");

Method getInstanceMethod = callManagerClass.getDeclaredMethod("getInstance");

Object callManager = getInstanceMethod.invoke(getInstanceMethod);

final Class? phoneClass = Class.forName("com.android.internal.telephony.Phone");

Method registerPhoneMethod = callManagerClass.getDeclaredMethod("registerPhone", phoneClass);

registerPhoneMethod.invoke(callManager, phone);

Method maybeGetMethod = callManagerClass.getDeclaredMethod("getDefaultPhone");

Object phone1 = maybeGetMethod.invoke(callManager);

Method dial = phoneClass.getDeclaredMethod("dial", String.class);

dial.invoke(phone1, number);

} catch (ClassNotFoundException e) {

String string = e.getCause().toString();

Log.e("CallTest" ,string);

} catch (Exception e) {

String string = e.getCause().toString();

Log.e("CallTest" ,string);

}

}

2、在manifest中加如下权限

manifest xmlns:android=""

package="com.example.callphone"

android:sharedUserId="android.uid.system"

android:versionCode="1"

android:versionName="1.0"

uses-permission android:name= "andoird.permission.CALL_PHONE"/

uses-permission android:name= "andoird.permission.CALL_PRIVILEGED"/

uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/

uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL"/

3、将生成的apk用系统签名,不同的OS有不同的签名,例如我用的是

java -jar signapk.jar platform.x509.pem platform.pk8 Callphone_unsigned.apk Callphone_signed.apk。其中platform.x509.pem platform.pk8在不同的OS中不同。

备注:用sharedUserId和系统签名后,程序才有权限运行。同理,程序不能调试,只能log跟踪。


文章题目:android打电话,手机打电话app
网页URL:http://cxhlcq.com/article/dsecsgi.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部