ky1e
V2EX  ›  Android

如何快速的开发一个安卓上的 HTTP 响应 APP 小应用

  •  
  •   ky1e · Apr 15, 2023 · 15019 views
    This topic created in 1308 days ago, the information mentioned may be changed or developed.

    大概需求如下:

    1. APP 能自启动常驻安卓手机监听端口 9999 的 HTTP GET 请求: "http://127.0.0.1:9999/msg/<msgcontent>"
    2. 接受到该 HTTP 请求后在安卓手机弹出一个信息提示,内容接收到的字符串:<msgcontent>
    3. 再向另一个接口,发出 request.get 请求:"http://www.myanotherip.net:9999/msg/<msgcontent>"

    在 python 用 flask 很好实现,但从没做过安卓开发,不知道有没有快速的开发方法,比如用.net core 的 moon 有没有办法快速实现,本人比较小白,望各位大佬赐教。

    26 replies  •  2023-04-16 13:52:41 +08:00
    cxtrinityy
    cxtrinityy
    Apr 15, 2023 via Android❤️1
    1
    这东西没什么难,搜下 Java 或 kotlin 建个 service 写几行监听 http 请求的代码就好了,看你这描述我觉得你应该不了解 Android 项目的整个结构,这是最费时间的
    300
    300
    Apr 15, 2023 via Android
    2
    https://github.com/yanzhenjie/AndServer
    加 star 很久了,但还没用过
    ly841000
    ly841000
    Apr 15, 2023
    3
    这么简单的需求 直接用 socket 实现也就几十行代码的事吧?
    noahhhh
    noahhhh
    Apr 15, 2023 via Android
    4
    tasker 配合支持的 vpn 就能实现了吧
    tomczhen
    tomczhen
    Apr 15, 2023 via Android
    5
    用 automate 或者 tasker 主动轮询去拉取更容易一些。
    cyningxu
    cyningxu
    Apr 15, 2023
    6
    用开源库就几行代码的事
    kingfalse
    kingfalse
    Apr 15, 2023 via Android
    7
    nanohttpd
    renmu
    renmu
    Apr 15, 2023 via Android
    8
    然后发现最难的是保活
    GlobalNPC
    GlobalNPC
    Apr 15, 2023 via Android
    9
    termux 可以读短信 可以弹窗 可以常驻后台
    GlobalNPC
    GlobalNPC
    Apr 15, 2023 via Android
    10
    @infun 在 termux 里面起 python 代码并调用 termux 的 API
    你说的需求可以搞定
    maokabc
    maokabc
    Apr 15, 2023 via Android
    11
    实现过类似的,http 来进行文件分享,nanohttpd 加上一个前台 service
    deng81416754
    deng81416754
    Apr 15, 2023
    12
    作为 Android 开发 只会 cv 的 自从系统没有开机广播以后 就不知道如何开机启动了 保活倒是有一些方案,如果开机能解决 那剩下的 应该都很好办
    whyrookie
    whyrookie
    Apr 15, 2023
    13
    现在保活应该是没有可靠的了
    rocmax
    rocmax
    Apr 15, 2023 via Android
    14
    ifttt ?
    wooi
    wooi
    Apr 15, 2023
    15
    难点在于保活,除非设备已经 Root 可以提权到管理权限。还有一种方法,接第三方通知推送服务,更简单直接
    nathansw
    nathansw
    Apr 15, 2023
    16
    @wooi 系统是 MIUI ,接了小米推送,然后各种自启动,后台无限制都加了。一样收不到通知,要打开 APP 才收的到。
    paopjian
    paopjian
    Apr 15, 2023
    17
    保活反而是最难弄的,无数人绞尽脑汁就为了越过各种 UI/OS 整的电源策略
    wooi
    wooi
    Apr 15, 2023
    18
    @nathansw 这种问题还是找小米的官方文档,只可能是配置或者你接入的问题
    lijunjieone
    lijunjieone
    Apr 15, 2023
    19
    看上去是自己用,可以做成前台服务,自动就保活了。
    lixinrui000
    lixinrui000
    Apr 15, 2023
    20
    我之前恰好也有一个一模一样的需求,寻求 Python 直接运行无果,最后也只好用原生代码硬写了。
    Yourshell
    Yourshell
    Apr 15, 2023
    21
    为什么不问问 ChatGPT 呢
    nathansw
    nathansw
    Apr 15, 2023
    22
    @wooi MIUI13 没问题,到 14 就出问题了
    wangwenzhi
    wangwenzhi
    Apr 15, 2023
    23
    ChatGPT 的回答:

    您可以使用 Java 开发 Android 应用程序,并使用 Android 自带的网络 API 实现 HTTP 请求和响应。下面是实现该需求的一些步骤:

    创建一个 Android 应用程序,并在 Manifest 文件中添加网络访问权限。

    创建一个 Service 并实现 onStartCommand 方法,这个 Service 将监听端口 9999 并接受 HTTP GET 请求。

    使用 Android 自带的 HttpServer 类来创建一个 HttpServer ,并使用 HttpServer.createContext() 方法来设置请求处理程序。

    在请求处理程序中解析 HTTP 请求并获取其中的消息内容,然后使用 Android 自带的 Notification 类在 Android 设备上显示通知。

    使用 Android 自带的 HttpURLConnection 类来发送 GET 请求到另一个接口。

    在处理完请求后,发送 HTTP 响应并关闭连接。

    在应用程序中添加网络访问权限和服务声明,并在 MainActivity 中启动 Service 。

    使用 .NET Core 开发该应用程序可能需要更多的学习和开发成本,因为您需要学习如何使用 Xamarin 或其他相关技术来开发 Android 应用程序。而且,由于 .NET Core 并不是 Android 开发的首选语言和平台,因此可能会面临一些挑战。因此,我建议您使用 Java 和 Android 开发工具来实现该需求。
    fanfpy
    fanfpy
    Apr 15, 2023 via iPhone
    24
    感觉可以拿 autojs 或者 hamibot 试试 感觉用这个实现最快
    fanfpy
    fanfpy
    Apr 15, 2023 via iPhone
    25
    autojs 好像还可以打包成独立 app
    PRStarDust
    PRStarDust
    Apr 16, 2023
    26
    我之前就想用这个做双向剪贴板同步……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2028 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 14:59 · PVG 22:59 · LAX 06:59 · JFK 09:59
    ♥ Do have faith in what you're doing.