在android中通过网络发送消息
我正在创建一个应用程序,其中我有一个要求,即用户可以向其他用户发送消息,但在发送消息时,他看不到用户号码,消息应该通过网络发送。就像在careem中,当captain呼叫客户时,客户收到的是公司的呼叫,而不是careem captain的呼叫。 我在应用程序中看到并尝试了文本本地(Sms网关),但我成功获得了toast,但消息未被发送。我已创建了一个帐户并创建了一个Api密钥 这是类的代码:在android中通过网络发送消息,android,sms-gateway,android-messaging,Android,Sms Gateway,Android Messaging,我正在创建一个应用程序,其中我有一个要求,即用户可以向其他用户发送消息,但在发送消息时,他看不到用户号码,消息应该通过网络发送。就像在careem中,当captain呼叫客户时,客户收到的是公司的呼叫,而不是careem captain的呼叫。 我在应用程序中看到并尝试了文本本地(Sms网关),但我成功获得了toast,但消息未被发送。我已创建了一个帐户并创建了一个Api密钥 这是类的代码: public class MainActivity extends AppCompatActivity
public class MainActivity extends AppCompatActivity {
private EditText editTextTo, editTextMessage;
RelativeLayout activity_main;
Button button;
private RequestQueue requestQueue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
activity_main = (RelativeLayout) findViewById(R.id.activity_main);
editTextTo = (EditText) findViewById(R.id.editTextTo);
editTextMessage = (EditText) findViewById(R.id.editTextMessage);
button = (Button) findViewById(R.id.btn);
requestQueue = Volley.newRequestQueue(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
// Construct data
String apiKey = "apikey=" + "syKXFnvCg9I-TNtZZUIeseWZX5g*************";
String message = "&message=" + editTextMessage.getText().toString();
String sender = "&sender=" + "Jims Autos";
String numbers = "&numbers=" + editTextTo.getText().toString();
// Send data
HttpURLConnection conn = (HttpURLConnection) new URL("https://api.txtlocal.com/send/?").openConnection();
String data = apiKey + numbers + message + sender;
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Length", Integer.toString(data.length()));
conn.getOutputStream().write(data.getBytes("UTF-8"));
final BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
final StringBuffer stringBuffer = new StringBuffer();
String line;
while ((line = rd.readLine()) != null) {
Toast.makeText(MainActivity.this, line.toString(), Toast.LENGTH_LONG).show();
}
rd.close();
} catch (Exception e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
StrictMode.ThreadPolicy st = new StrictMode.ThreadPolicy.Builder().build();
StrictMode.setThreadPolicy(st);
}
}
但我只收到这封祝酒信。我正在上传照片:
其次,我无法真正理解这项服务,根据我在这篇本地文本中的说法,它也从sim卡发送消息,而不是从网络发送消息
给我的要求是,我不必为这项信息服务设置sim卡。Msg应该通过网络或其他网络发送。没有sim卡可以用于这项服务,我必须为这项服务购买一些在线套餐。
所以我的问题是,如果是的话,我怎样才能从网络上发送消息。我从昨天开始搜索,但找不到这样做的方法。
注意:请不要告诉我Sms Manager的想法,我已经使用过,我的要求完全不同
谢谢你的意思是你想在没有服务器的情况下通过互联网发送消息吗?是的,我必须使用一些互联网服务。短信应该在不使用任何simthen的情况下发送,这是facebook、whatsapp等普通互联网信息。首先将数据保存在服务器上,然后向目标发送数据通知。看看这个,你的代码看起来不错,从屏幕截图上看,消息发送成功了。您应该尝试在中格式化电话号码。一些短信网关服务需要这种格式的号码。你的意思是你想在没有服务器的情况下通过互联网发送消息吗?是的,我必须使用一些互联网服务。短信应该在不使用任何simthen的情况下发送,这是facebook、whatsapp等普通互联网信息。首先将数据保存在服务器上,然后向目标发送数据通知。看看这个,你的代码看起来不错,从屏幕截图上看,消息发送成功了。您应该尝试在中格式化电话号码。一些SMS网关服务需要这种格式的数字。