Gok*_* KP 6 java mobile android airplane callblocking
手机有很多呼叫阻止应用,比如NQ Call Blocker.但在这些应用程序中,如果我们在黑名单中添加一个号码,呼叫者将听到"忙音".呼叫者也可以听到"振铃音"一小会儿.这意味着,看起来我们有意拒绝了这个电话.
现在,我正在尝试的是,开发一个呼叫阻止应用程序,它可以发送"Not Reachable Tone",而不是"Busy Tone"......
例如,从另一个号码拨打您的手机,当它响铃时,尝试将您的模式更改为"飞行模式".你会听到"Not Reachable Tone".[可能在某些Android设备中,长按电源按钮,并在您的手机响铃时激活"飞行模式".]
您的手机不会发送"Not Reachable"信号.相反,它由您的运营商发送.
当您的号码无法访问时,它实际上意味着手机信号塔无法联系到您.所以,当有人打电话给你时,塔会试图找到你,如果它不能,它会发送"不可到达"信号.你不能伪造一个并从你的设备发送它.
您可以尝试实现PhoneStateListener,当您接到电话时,您可以将其与号码数组进行比较,如果被禁止,您可以切换到飞行模式。像这样的东西:
case TelephonyManager.CALL_STATE_RINGING: // incoming call
{
for (int i = 0; i < forbiddenNumber.size; i++) {
if (incomingNumber.equals(forbiddenNumber[i])) {
// read the airplane mode setting
boolean isEnabled = Settings.System.getInt(
getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) == 1;
// toggle airplane mode
Settings.System.putInt(getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0
: 1);
// Post an intent to reload
Intent intent = new Intent(
Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !isEnabled);
sendBroadcast(intent);
}
}
Run Code Online (Sandbox Code Playgroud)
不要忘记许可WRITE_SETTINGS
| 归档时间: |
|
| 查看次数: |
49441 次 |
| 最近记录: |