Bac*_*alo 5 android kernel cyanogenmod telephonymanager
我正在开发一个能够接听电话的自定义电话应用程序.使用此代码处理来电 https://code.google.com/p/auto-answer/source/browse/trunk/src/com/everysoft/autoanswer/AutoAnswerIntentService.java
不幸的是,我的应用程序失去了对来电的关注.
对于拨打电话Android-电话应用程序而言,这是一个部分解决方案 ,可以专注于拨出和拨入电话
来电怎么样?如何将注意力集中在自定义应用中?
我猜这可能涉及下载和修改源代码,因为简单地访问SDK几乎无法控制内置电话应用程序.
在manifest.xml 文件中提及以下广播接收器。
<receiver android:name="com.example.incomingcall.IncomingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
IncomingCallReceiver.java:
public class IncomingCallReceiver extends BroadcastReceiver{
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)) {
Thread thread = new Thread(){
private int sleepTime = 400;
@Override
public void run() {
super.run();
try {
int wait_Time = 0;
while (wait_Time < sleepTime ) {
sleep(100);
wait_Time += 100;
}
}catch (Exception e) {
Toast.makeText(context,
"Error Occured Because:" + e.getMessage(),
Toast.LENGTH_SHORT).show();
}
context.startActivity(new Intent(context,CustomActivity.class)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
}
};
thread.run();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)