-4
我在Android中使用阻止呼叫並將短消息發回給呼叫者的項目。
我在這裏搜索全部。但是那些代碼不起作用。我需要幫助。 我使用的是Android 2.2呼叫阻止併發回短信
我在Android中使用阻止呼叫並將短消息發回給呼叫者的項目。
我在這裏搜索全部。但是那些代碼不起作用。我需要幫助。 我使用的是Android 2.2呼叫阻止併發回短信
使用此前的短信管理
Button bttsendsms;
公共無效的onCreate(捆綁savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bttsendsms =(Button)findViewById(R.id.button1);
bttsendsms.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
Toast.makeText(SmsActivity.this, "hello", 6000).show();
sendSMS("5556","hello friends");
sendSMS("5558","hello friends");
}
});
}
private void sendSMS(String phoneNumber,String message)
{
SmsManager sms=SmsManager.getDefault();
sms.sendTextMessage(phoneNumber,null,message,null,null);
}
}
試試這個代碼吧....這是工作爲我工作我正在開發相同的應用程序。 在oncreate方法中使用此代碼。
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener callStateListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
// React to incoming call.
// number = PhoneNumberUtils.formatNumber(incomingNumber);
number = incomingNumber;
// If phone ringing
if (state == TelephonyManager.CALL_STATE_RINGING) {
new LoadStuff().execute(incomingNumber, message);
boolean isEnabled = Settings.System.getInt(
getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) == 1;
if (!isEnabled) {
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);
}
}
}
// If incoming call received
if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
}
if (state == TelephonyManager.CALL_STATE_IDLE) {
boolean isEnabled = Settings.System.getInt(
getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) == 1;
if (isEnabled) {
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);
}
}
}
};
telephonyManager.listen(callStateListener,
PhoneStateListener.LISTEN_CALL_STATE);
}
,並使用外onCreate方法的代碼
public class LoadStuff extends AsyncTask<String, String, Void> {
@Override
protected Void doInBackground(String... params) {
// TODO Auto-generated method stub
String number = params[0];
String message = params[1];
boolean error = false;
try {
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(number, null, message, null, null);
} catch (IllegalArgumentException e) {
error = true;
}
if (error) {
Toast.makeText(getBaseContext(), "SMS SENDING FAILED",
Toast.LENGTH_SHORT).show();
}
return null;
}
}
第一,在這裏把你的代碼,看看有什麼是錯的,第二,你不能阻止Android的一個電話,只接聽和關閉。 – 2012-03-06 08:02:53
我的應用程序正在阻止呼叫並向呼叫者返回消息,說明阻止呼叫的原因...如果無法阻止呼叫,如何避免呼叫。 – user121 2012-03-08 05:34:14
Id ont知道如何以編程方式關閉呼叫 – user121 2012-03-08 07:35:49