Android呼叫狀態示例含代碼

Android呼叫狀態示例

我們還可以使用 TelephonyManager 類獲取呼叫狀態的信息。愛掏網 - it200.com為此,我們需要通過傳遞PhonStateListener實例來調用TelephonyManager類的listen方法。愛掏網 - it200.com

必須實現 PhoneStateListener 接口以獲取呼叫狀態。愛掏網 - it200.com它提供了一個onCallStateChanged()方法。愛掏網 - it200.com

Android呼叫狀態示例

讓我們看一個示例,其中我們確定手機是否正在響鈴,或者手機是否正在通話中,或者手機既不是響鈴也不是在通話中。愛掏網 - it200.com

activity_main.xml

在此示例中,此文件中沒有任何組件。愛掏網 - it200.com

Activity類

讓我們編寫代碼來了解呼叫狀態。愛掏網 - it200.com

package com.javatpoint.callstates;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.view.Menu;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TelephonyManager telephonyManager =
                      (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

        PhoneStateListener callStateListener = new PhoneStateListener() {
        public void onCallStateChanged(int state, String incomingNumber) 
        {
              if(state==TelephonyManager.CALL_STATE_RINGING){
                        Toast.makeText(getApplicationContext(),"Phone Is Riging",
                                                                         Toast.LENGTH_LONG).show();
              }
                if(state==TelephonyManager.CALL_STATE_OFFHOOK){
                    Toast.makeText(getApplicationContext(),"Phone is Currently in A call", 
                                                                                  Toast.LENGTH_LONG).show();
                }

                if(state==TelephonyManager.CALL_STATE_IDLE){
                    Toast.makeText(getApplicationContext(),"phone is neither ringing nor in a call",
                                                                                                 Toast.LENGTH_LONG).show();
                }
        }
        };
        telephonyManager.listen(callStateListener,PhoneStateListener.LISTEN_CALL_STATE);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

AndroidManifest.xml

需要在 AndroidManifest.xml 文件中提供 READ_PHONE_STATE 權限。愛掏網 - it200.com

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:androclass="http://schemas.android.com/apk/res/android"
    package="com.javatpoint.callstates"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />


       <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.javatpoint.callstates.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

輸出:

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 亚洲欧洲日产国码久在线| 国产精品免费观看视频播放| 免费一级特黄欧美大片勹久久网| √天堂资源在线| 狠狠色综合久久婷婷色天使| 波多野结衣免费在线观看| 国内自拍青青草| 亚洲乱人伦在线| 韩国一级淫片漂亮老师| 成人国产欧美精品一区二区| 公和熄小婷乱中文字幕| 97人人添人澡人人爽超碰| 欧美丰满熟妇乱XXXXX网站| 国产婷婷综合在线视频| 中文字幕乱伦视频| 狂野欧美性猛xxxx乱大交| 国产精品亚洲w码日韩中文| 久久精品免费观看国产| 美女把尿口扒开让男人桶到出水 | 亚洲最大福利视频| 95在线观看精品视频| 成全视频在线观看免费高清动漫视频下载 | 国产在线视频你懂的| 欧美日韩国产综合视频在线看| 国产成人亚洲精品无码青青草原| 中文字幕欧美一区| 热狗福利ap青草视频入口在线观看p引导下载花季传媒 | www.亚洲成在线| 欧美日韩电影网| 国产乱子伦视频在线观看| rbd奴隷色の女教师4| 欧美bbbbbxxxxx| 午夜精品久久久久蜜桃 | 玉蒲团2之玉女心经| 国产特黄一级片| 中文字幕免费在线观看动作大片 | 处处吻动漫免费观看全集| 九一制片厂免费传媒果冻| 精品人妻系列无码一区二区三区 | 亚洲欧洲日本精品| 被夫上司持续侵犯7天|