来自Android应用程序的来电管理

时间:2016-06-22 10:21:02

标签: android call

是否有可能开发一个应用程序,如果来电即将到来,我需要打开我的Android应用程序,因为我必须回答/拒绝该呼叫和另一个转移呼叫的选项。如果我点击转移按钮,呼叫需要转移到另一个人。我对这个概念一点也不了解。我们可以这样做吗?

1 个答案:

答案 0 :(得分:0)

的Manifest.xml

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

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >

    <receiver android:name="MyPhoneReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.PHONE_STATE" >
            </action>
        </intent-filter>
    </receiver>
      <receiver android:name="MyPhoneReceiver" >
        <intent-filter>
            <action android:name="tuet" >
            </action>
        </intent-filter>
    </receiver>

    <activity android:name="StartActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

MyPhoneReceiver.JAVA

public class MyPhoneReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Bundle extras = intent.getExtras();
    if (extras != null) {
        String state = extras.getString(TelephonyManager.EXTRA_STATE);

        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
            String phoneNumber = extras
                    .getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
            Log.e("DEBUG", phoneNumber);
        }
    }
}

}

StartActivity.JAVA

public class StartActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Intent intent = new Intent("tuet");
    sendBroadcast(intent);
}

}

谢谢!