从自定义传出屏幕拨打电话
Make calls from custom outgoing screen
我想替换去电屏幕并通过该自定义屏幕拨打电话。我成功带上了自定义屏幕,但无法拨打电话。如果我使用 ACTION.CALL 然后它调用默认传出屏幕。
public class OutgoingCallBroadcastReciver extends BroadcastReceiver {
Context c;
public OutgoingCallBroadcastReciver() {
}
@Override
public void onReceive(final Context context, final Intent intent) {
final String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
c=context;
setResultData(null);
setResultData(number);
callActionHandler.postDelayed(runRingingActivity, 1000);
}
Handler callActionHandler = new Handler();
Runnable runRingingActivity = new Runnable(){
@Override
public void run()
{
Intent intentPhoneCall = new Intent(c, OutgoingScreen.class);
intentPhoneCall.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentPhoneCall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(intentPhoneCall);
}
};
}
对于拨出电话,我进行了自定义变通,并在清单中创建了拨出接收方的自定义权限。
我在使用处理程序延迟后调用了 activity。
希望我能为你工作。
请检查以下代码。
@Override
public void onReceive(Context context, Intent intent)
{
mcontext = context;
setResultData(null);
dialphonenumber = getResultData();
if dialphonenumber == null)
{
dialphonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
}
setResultData(dialphonenumber);
callActionHandler.postDelayed(runRingingActivity, 1000);
}
Handler callActionHandler = new Handler();
Runnable runRingingActivity = new Runnable()
{
@Override
public void run()
{
Intent intentPhoneCall = new Intent(mcontext, OutgoingCallActivity.class);
intentPhoneCall.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentPhoneCall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mcontext.startActivity(intentPhoneCall);
}
};
希望对你有用。
如果您有任何问题,请告诉我。
我想替换去电屏幕并通过该自定义屏幕拨打电话。我成功带上了自定义屏幕,但无法拨打电话。如果我使用 ACTION.CALL 然后它调用默认传出屏幕。
public class OutgoingCallBroadcastReciver extends BroadcastReceiver {
Context c;
public OutgoingCallBroadcastReciver() {
}
@Override
public void onReceive(final Context context, final Intent intent) {
final String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
c=context;
setResultData(null);
setResultData(number);
callActionHandler.postDelayed(runRingingActivity, 1000);
}
Handler callActionHandler = new Handler();
Runnable runRingingActivity = new Runnable(){
@Override
public void run()
{
Intent intentPhoneCall = new Intent(c, OutgoingScreen.class);
intentPhoneCall.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentPhoneCall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(intentPhoneCall);
}
};
}
对于拨出电话,我进行了自定义变通,并在清单中创建了拨出接收方的自定义权限。
我在使用处理程序延迟后调用了 activity。
希望我能为你工作。
请检查以下代码。
@Override
public void onReceive(Context context, Intent intent)
{
mcontext = context;
setResultData(null);
dialphonenumber = getResultData();
if dialphonenumber == null)
{
dialphonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
}
setResultData(dialphonenumber);
callActionHandler.postDelayed(runRingingActivity, 1000);
}
Handler callActionHandler = new Handler();
Runnable runRingingActivity = new Runnable()
{
@Override
public void run()
{
Intent intentPhoneCall = new Intent(mcontext, OutgoingCallActivity.class);
intentPhoneCall.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentPhoneCall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mcontext.startActivity(intentPhoneCall);
}
};
希望对你有用。
如果您有任何问题,请告诉我。