• 售前

  • 售后

热门帖子
入门百科

基于手机app的树莓派远程监控(非常全)

[复制链接]
鬼子进了村部 显示全部楼层 发表于 2022-1-12 12:07:36 |阅读模式 打印 上一主题 下一主题
                基于手机app的树莓派远程监控(非常全)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 一.准备器件:树莓派系统板,树莓派自带摄像头<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 二. 树莓派系统环境:Raspberry Debian 9 手机app运行环境:android studio<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 三.CSI摄像头配置的话自己弄,摄像头配置完成后可以用 raspistill -o 1.jpg 来测试一下摄像头的拍照功能<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 四、网络视频监控配置与实现<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1、利用mjpg-streamer框架实现,基本配置方案看链接:(链接私聊)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 五、树莓派环境配置<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1.基本上按照四中的链接配置 都可以直接将树莓派的摄像头运行起来(如图即为运行成功)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  2.但基本配置起来只能在当前目录下运行,因此要添加一下环境,使得全路径运行,方便后面代码的编写。<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 将该脚本给它一个可执行权限:chmod 777 shart.sh<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  修改工作目录下的 .bashrc 隐藏文件, 配置命令终端的<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> Vi  /home/pi/.bashrc(这比较靠谱点)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 直接在文件末尾的最后一行加入路径就行:/home/pjf/shell<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  配置完成后保存 并在命令行输入:source ~/.bashrc<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 重启一下树莓派 ,命令行输入:echo $PATH。显示环境变量添加成功。<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 3.这时可以在其它路径运行 start.sh 可执行文件了,但要注意start.sh中还有流转发的程序./mjpg_streamer。<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  直接在其它路径下运行start.sh会提示 ./mjpg_streamer: not found(除开执行权限的问题外,文件的格式同样也需要去注意)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 因此 vim start.sh 进入到脚本文件中 将三个文件 ./mjpg_streamer,./input_raspicam.so,./output_http.so 添加至全路径模式(如下图)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  保存退出,start.sh 便可以在其它路径下运行起来了<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 然后打开浏览器,网址输入http://ip:8080/?action=stream,即可看到监控视频效果<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 注意注意!!!!<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 上面的环境变量的配置在linux系统普通用户目录(.bashrc)如果在sudo 下运行代码便不可以了,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限。<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 因此要想在sudo 下运行还得visudo使用vi打开/etc/sudoers文件来添加环境变量<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> sudo 命令,为非根用户授予根用户的权限<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 配置文件是/etc/sudoers,此文件有权限限制,而且有格式要求,万一改错会比较麻烦。使用visudo可以容易配置。<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1.输入命令<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. <code>sudo visudo
复制代码
添加对应路径<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  ctrl x退出按Y保存<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 重新运行便可以在sudo 下运行该脚本了<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 六、树莓派代码的实现(上面步骤配置好代码就简单了)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. #include <stdio.h><!--允许程序打开网络套接字-->
  2. <uses-permission android:name="android.permission.INTERNET" />
  3. <br><!--允许程序获取网络状态-->
  4. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />#include <stdlib.h><!--允许程序打开网络套接字-->
  5. <uses-permission android:name="android.permission.INTERNET" />
  6. <br><!--允许程序获取网络状态-->
  7. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />#include <pthread.h><!--允许程序打开网络套接字-->
  8. <uses-permission android:name="android.permission.INTERNET" />
  9. <br><!--允许程序获取网络状态-->
  10. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />#include <unistd.h><!--允许程序打开网络套接字-->
  11. <uses-permission android:name="android.permission.INTERNET" />
  12. <br><!--允许程序获取网络状态-->
  13. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />void* ptintf_hello_world(void* tid);<!--允许程序打开网络套接字-->
  14. <uses-permission android:name="android.permission.INTERNET" />
  15. <br><!--允许程序获取网络状态-->
  16. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />void* ptintf_hello_world1(void* tid);<!--允许程序打开网络套接字-->
  17. <uses-permission android:name="android.permission.INTERNET" />
  18. <br><!--允许程序获取网络状态-->
  19. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
  20. <uses-permission android:name="android.permission.INTERNET" />
  21. <br><!--允许程序获取网络状态-->
  22. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />int main(void){<!--允许程序打开网络套接字-->
  23. <uses-permission android:name="android.permission.INTERNET" />
  24. <br><!--允许程序获取网络状态-->
  25. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        pthread_t thread;<!--允许程序打开网络套接字-->
  26. <uses-permission android:name="android.permission.INTERNET" />
  27. <br><!--允许程序获取网络状态-->
  28. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        pthread_t thread1;<!--允许程序打开网络套接字-->
  29. <uses-permission android:name="android.permission.INTERNET" />
  30. <br><!--允许程序获取网络状态-->
  31. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        int status,i=10,i1=10;<!--允许程序打开网络套接字-->
  32. <uses-permission android:name="android.permission.INTERNET" />
  33. <br><!--允许程序获取网络状态-->
  34. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        printf("Main here. Creating thread %d\n",i);<!--允许程序打开网络套接字-->
  35. <uses-permission android:name="android.permission.INTERNET" />
  36. <br><!--允许程序获取网络状态-->
  37. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        status=pthread_create(&thread,NULL,ptintf_hello_world,(void*)i);<!--允许程序打开网络套接字-->
  38. <uses-permission android:name="android.permission.INTERNET" />
  39. <br><!--允许程序获取网络状态-->
  40. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        status=pthread_create(&thread1,NULL,ptintf_hello_world1,(void*)i1);<!--允许程序打开网络套接字-->
  41. <uses-permission android:name="android.permission.INTERNET" />
  42. <br><!--允许程序获取网络状态-->
  43. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
  44. <uses-permission android:name="android.permission.INTERNET" />
  45. <br><!--允许程序获取网络状态-->
  46. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        pthread_join(thread,NULL);  //pthread_join函数以阻塞的方式等待指定的线程结束;如果线程已经结束,函数会立即返回,并且指定的线程><!--允许程序打开网络套接字-->
  47. <uses-permission android:name="android.permission.INTERNET" />
  48. <br><!--允许程序获取网络状态-->
  49. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />必须是joinable的 <!--允许程序打开网络套接字-->
  50. <uses-permission android:name="android.permission.INTERNET" />
  51. <br><!--允许程序获取网络状态-->
  52. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
  53. <uses-permission android:name="android.permission.INTERNET" />
  54. <br><!--允许程序获取网络状态-->
  55. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        exit(0);<!--允许程序打开网络套接字-->
  56. <uses-permission android:name="android.permission.INTERNET" />
  57. <br><!--允许程序获取网络状态-->
  58. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />}<!--允许程序打开网络套接字-->
  59. <uses-permission android:name="android.permission.INTERNET" />
  60. <br><!--允许程序获取网络状态-->
  61. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />void* ptintf_hello_world(void* tid){<!--允许程序打开网络套接字-->
  62. <uses-permission android:name="android.permission.INTERNET" />
  63. <br><!--允许程序获取网络状态-->
  64. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        sleep(10);<!--允许程序打开网络套接字-->
  65. <uses-permission android:name="android.permission.INTERNET" />
  66. <br><!--允许程序获取网络状态-->
  67. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />//      system("wget  http://pi:8080/?action=snapshot -O ./1.jpg ");<!--允许程序打开网络套接字-->
  68. <uses-permission android:name="android.permission.INTERNET" />
  69. <br><!--允许程序获取网络状态-->
  70. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />//      printf("Hello world0 %d.\n",tid);<!--允许程序打开网络套接字-->
  71. <uses-permission android:name="android.permission.INTERNET" />
  72. <br><!--允许程序获取网络状态-->
  73. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        exit(0);<!--允许程序打开网络套接字-->
  74. <uses-permission android:name="android.permission.INTERNET" />
  75. <br><!--允许程序获取网络状态-->
  76. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />}<!--允许程序打开网络套接字-->
  77. <uses-permission android:name="android.permission.INTERNET" />
  78. <br><!--允许程序获取网络状态-->
  79. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />void* ptintf_hello_world1(void* tid){<!--允许程序打开网络套接字-->
  80. <uses-permission android:name="android.permission.INTERNET" />
  81. <br><!--允许程序获取网络状态-->
  82. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        system("start.sh");<!--允许程序打开网络套接字-->
  83. <uses-permission android:name="android.permission.INTERNET" />
  84. <br><!--允许程序获取网络状态-->
  85. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        printf("Hello world1 %d.\n",tid);<!--允许程序打开网络套接字-->
  86. <uses-permission android:name="android.permission.INTERNET" />
  87. <br><!--允许程序获取网络状态-->
  88. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />        exit(0);<!--允许程序打开网络套接字-->
  89. <uses-permission android:name="android.permission.INTERNET" />
  90. <br><!--允许程序获取网络状态-->
  91. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />}
复制代码
<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 七、安卓部分代码(注意网络权限的配置)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  1.网络权限配置<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 找到路径app->src->-main->res->AndroidManifest.xml文件<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 打开 AndroidManifest.xml文件<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 在application节点之前增加以下代码<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. <!--允许程序打开网络套接字-->
  2. <uses-permission android:name="android.permission.INTERNET" />
  3. <br><!--允许程序获取网络状态-->
  4. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
复制代码
<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  打开使用明文网络流量(加密流量)<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. android:usesCleartextTraffic="true"
复制代码
<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 2.java代码<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. package com.example.mysuju;
  2. import android.content.Intent;
  3. import android.os.Bundle;
  4. import android.os.PersistableBundle;
  5. import android.view.View;
  6. import android.webkit.WebView;
  7. import android.widget.Button;
  8. import android.widget.MediaController;
  9. import android.widget.VideoView;
  10. import androidx.annotation.Nullable;
  11. import androidx.appcompat.app.AppCompatActivity;
  12. public class MessageActivity extends AppCompatActivity {
  13.     private Button playBtn, stopBtn;
  14.     MediaController mMediaController;
  15.     private WebView webview1;
  16.     @Override
  17.     public void onCreate(@Nullable Bundle savedInstanceState) {
  18.         super.onCreate(savedInstanceState);
  19.         setContentView(R.layout.activity_message);
  20.         VideoView mVideoView = new VideoView(this);
  21.         //mVideoView = (VideoView) findViewById(R.id.video);
  22.         mMediaController = new MediaController(this);
  23.         webview1 = (WebView) findViewById(R.id.webview1);
  24.         playBtn = (Button) findViewById(R.id.login1);
  25.         //stopBtn = (Button) findViewById(R.id.stopbutton);
  26.         // playBtn.setOnClickListener(new mClick());
  27.         //stopBtn.setOnClickListener(new mClick());
  28.         setview();
  29.       
  30.     }
  31.     private void setview() {
  32.         String url="http://pi:8080/?action=stream";//视频链接
  33.         webview1.loadUrl(url);//打开指定URL的html文件
  34.     }
  35. }
复制代码
3.  .xml布局代码<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:orientation="vertical" android:layout_width="match_parent"
  4.     android:layout_height="match_parent">
  5.     <WebView
  6.         android:id="@+id/webview1"
  7.         android:layout_width="match_parent"
  8.         android:layout_height="300dp"/>
  9.     <LinearLayout
  10.         android:background="@drawable/pj"
  11.         android:layout_width="match_parent"
  12.         android:layout_height="match_parent">
  13.         <Button
  14.             android:id="@+id/login1"
  15.             android:layout_width="100dp"
  16.             android:layout_height="50dp"
  17.             android:text="返回"
  18.             android:textColor="@color/colorAccent"
  19.             android:textSize="20dp"
  20.             >
  21.         </Button>
  22.     </LinearLayout>
  23. </LinearLayout>
复制代码
八、成果展示<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />来源:https://blog.caogenba.net/HHHSSD/article/details/122360742<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<br><!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作