『壹』 Android開發,如何編程實現開啟電話的免提功能
java編寫,對應撥打電話只需要調用ACTION_CALL加對應電話號碼可以如下編寫:
viewplain
voidcallPhone(){
Intentintent=newIntent(Intent.ACTION_CALL,Uri.parse("tel:110"));//不能調用呼叫
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
但是當撥打110,119,120等緊急電話時,無法自動呼出,還需要用戶進行確認操作,那麼就需要實現直接進行呼叫,但是前提app必須用系統級別許可權,及system/app/目錄下方可。
首先確保應用具有如下許可權:
viewplain
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
<uses-permissionandroid:name="android.permission.CALL_PHONE"/>
<uses-permissionandroid:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permissionandroid:name="android.permission.CALL_PRIVILEGED"/>
同樣調用intent來開啟功能,不過內容有些變化
viewplain
voidcallPhone(Stringnum){
Intentintent=newIntent("android.intent.action.CALL_PRIVILEGED",Uri.parse("tel:"+num));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
然後在源碼下編譯,放到/system/app/即可使用。
開啟撥通電話後設置開啟揚聲器功能:
首先,獲取音頻管理器:audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
設置電話監聽:
viewplain
{
booleancomingPhone=false;
@Override
publicvoidonCallStateChanged(intstate,StringincomingNumber){
switch(state){
caseTelephonyManager.CALL_STATE_IDLE:/*無任何狀態*/
Log.d(tag,"phoneidle");
if(this.comingPhone){
this.comingPhone=false;
backMyApp();
setSpeekModle(false);
}
break;
caseTelephonyManager.CALL_STATE_OFFHOOK:/*接起電話*/
Log.d(tag,"phoneanswer");
this.comingPhone=true;
setSpeekModle(true);
break;
caseTelephonyManager.CALL_STATE_RINGING:/*電話進來*/
Log.d(tag,"phonecoming");
this.comingPhone=true;
setSpeekModle(true);
break;
}
}
}
注冊監聽類:
viewplain
TelephonyManagertelManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
TelListnerlistener=newTelListner();
telManager.listen(listener,PhoneStateListener.LISTEN_CALL_STATE);
開啟或關閉免提功能:
viewplain
voidsetSpeekModle(booleanopen){
//audioManager.setMode(AudioManager.ROUTE_SPEAKER);
currVolume=audioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL);
audioManager.setMode(AudioManager.MODE_IN_CALL);
if(!audioManager.isSpeakerphoneOn()&&true==open){
audioManager.setSpeakerphoneOn(true);
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,
audioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL),
AudioManager.STREAM_VOICE_CALL);
}elseif(audioManager.isSpeakerphoneOn()&&false==open){
audioManager.setSpeakerphoneOn(false);
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,currVolume,
AudioManager.STREAM_VOICE_CALL);
}
}
添加許可權:
viewplain
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
<uses-permissionandroid:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
『貳』 android開發怎麼撥打電話
步驟一::新建一個Android工程,命名為Callph.
步驟二:設計程序的界面,打開activity_main.xml把內容修改如下:
<linearlayout xmlns:android="schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Textview
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/call_text">
</textview>
<Edittext
android:id="@+id/et1"
android:inputtype="phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Edittext>
<button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/call_phone">
</button>
</linearlayout>
步驟三:增加撥打電話的許可權,打開AndroidManifest.xml,修改代碼如下:
<manifest xmlns:android="schemas.android.com/apk/res/android" package="com.lauking.callph" android:versioncode="1" android:versionname="1.0">
<uses-sdk android:minsdkversion="8" android:targetsdkversion="15"> </uses-sdk> <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme">
<activity android:name="com.lauking.callph.MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"> </action>
<category android:name="android.intent.category.LAUNCHER"> </category>
</intent-filter>
</activity>
</application>
</manifest>
步驟四:添加撥出電話的許可權
<uses-permission android:name="android.permission.CALL_PHONE">
</uses-permission>
步驟五:主程序MainActivity.java代碼如下:
package com.lauking.callph;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.app.Activity;
import android.content.Intent;
public class MainActivity extends Activity {
private Button bt;
private EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 取得資源
bt = (Button) findViewById(R.id.bt1);
et = (EditText) findViewById(R.id.et1);
// 增加事件響應
bt.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
// 取得輸入的電話號碼串
String inputStr = et.getText().toString();
// 如果輸入不為空創建打電話的Intent
if (inputStr.trim().length() != 0) {
Intent phoneIntent = new Intent(
"android.intent.action.CALL", Uri.parse("tel:"
+ inputStr));
// 啟動
startActivity(phoneIntent);
}
// 否則Toast提示一下
else {
Toast.makeText(MainActivity.this, "不能輸入為空",
Toast.LENGTH_LONG).show();
}
}
});
}
}
『叄』 怎麼樣才能在Android手機上面觸發撥打電話
開發步驟:
1 新建一個工程,取名為TestCallphone
『肆』 誰能給你們寫好的Android開發的打電話和接電話功能的代碼或者說下,該怎麼樣開發這樣的一個軟體。
我有系統2.3電話的源碼,你要麼
『伍』 android 鎖屏打電話怎麼實現
我朋友手機也發生過這樣的情況 一般是第三方軟體造成的 恢復出廠設置就可以了 但是你的是刷過機的 硬格 恢復出廠設置 看看有用沒有 不然就得找專業人士了
『陸』 android 從資料庫讀取到的電話,實現打電話功能
(一)、撥打電話:
Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL);
//intent.setAction("android.intent.action.CALL"); //以下各項皆如此,都有兩種寫法。
intent.setData(Uri.parse("tel:1320010001"));
startActivity(intent);
//調用撥專號面板屬:
Intent intent=new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:1320010001"));
startActivity(intent);
//調用撥號面板:
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("tel:1320010001"));
startActivity(intent);
『柒』 Android怎麼編程實現搖一搖手機撥打電話功能
網友說:首先你的將你的手機ROOT(方法你可以網路「你的手機型號+ROOT」),然後呢再登陸QQ,在設專置裡面開啟屬QQ的截屏功能,然後即使離開了QQ界面也可以搖一搖截圖了。另外,安卓手機的話可以直接「電源鍵+音量增大鍵」來進行截屏的
『捌』 安卓手機有沒有自動撥打電話的軟體啊
有,語音助手類別的
oppo的小歐,只要你對著手機說出打電話給某某,就會自動打電話給對方
360手機衛士
『玖』 Android怎麼實現打電話源碼
發簡訊:
String msg="測試內容";
String no="110"; // 號碼
SmsManager manager=SmsManager.getDefault();
ArrayList<String> msgs=manager.divideMessage(msg);
// 以下是為了防止簡訊內容超過一條限制,如果超出則自動分條
for(String m:msgs){
manager.sendTextMessage(no, null, m, null, null);
}
打電話
String number = "110";
Intent intent = new Intent();
intent.setAction("android.intent.action.CALL");
intent.setData(Uri.parse("tel:"+ number));
startActivity(intent);//方法內部會自動為Intent添加類別:android.intent.category.DEFAULT
這個在manifest里邊都要添加相應許可權