【问题标题】:sms gateway using php and android phone [closed]使用php和android手机的短信网关[关闭]
【发布时间】:2015-09-04 07:07:02
【问题描述】:

我想知道如何使 php 应用程序从带有 USB 的安卓手机发送短信到我的电脑。 我找到了一些教程,但它们没有用。 有没有什么方法可以在没有任何 API 的情况下免费做到这一点?

【问题讨论】:

  • 不知道有没有可能
  • 你认为不可能吗?
  • 您不需要 USB 来执行此操作,只需几个小时即可使用运行在 Android 上的服务器和侦听来自外部的请求的端口。设备必须使用静态 IP 连接到 Wifi。如果你有一个静态公共 IP,你也可以让它工作。看看我的回答,或许对你有帮助。

标签: php android sms


【解决方案1】:

在 Android 上试试 NanoHttpd。 NanoHttpd 将作为 Android 上的服务器。

第 1 步:

下载NanoHTTPD.java。在你的项目中添加这个类。

创建一个Activity(HttpServerConnection)并添加以下代码:

public class HttpServerConnection extends Activity {

private WebServer server;
private static String TAG = "[HttpServerConnection]";
private static int default_server_port = 8005;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_start);

    // Init a server    
    server = new WebServer();
    try {
        server.start();

    } catch (IOException ioe) {
        Log.w(TAG, "The server could not start.");
        ioe.printStackTrace();
    }
    Log.w(TAG, "================Web server initialized=============>");
}


// On destroy 
@Override
public void onDestroy() {
    super.onDestroy();
    if (server != null) {
        server.stop();
        Log.w(TAG, "=================Web server stopped================>");
    }
}



// Webserver class which extends the NanoHTTPD class
private class WebServer extends NanoHTTPD {
    public WebServer() {
        super(default_server_port);
    }

    /*
     * Description : Function to run when a request message is triggered and
     * the application needs to process it to send a response.
     */
    @Override
    public synchronized Response serve(String uri, Method method,
            Map<String, String> header, Map<String, String> parameters,
            Map<String, String> files) {

        Log.w(TAG, "Request header details: " + header.toString());

        // Extract the parameters and header (mobile number and the message)

        // Send SMS using SmsManager

        return null;
    }
}

}

第 2 步: 将 HTTP 请求从 php 服务器推送到带有参数的 NanoHttpd 服务器。

第 3 步: NanoHttpd 服务器将在函数 'serve' 中接收请求:

@Override
public synchronized Response serve(IHTTPSession session) {

}

第 4 步: 在“服务”函数中解析请求中的数据(消息和手机号码),并使用 SmsManager 类发送短信。

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number, null, message, null,
                        null);

我为我的工作做了类似的事情(我已经将它实现为 Android 服务),它就像一个魅力。 它非常容易上手,并且“NanoHttpd”服务器使用起来非常稳定。

【讨论】:

  • 感谢您的回答,但我是初学者,在第 1 步之后我什么都不懂。我设置 nanohttpd 服务器以及如何处理此代码
  • 编辑了我的答案,看看。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 2012-09-12
  • 2013-01-22
相关资源
最近更新 更多