如何利用android手机远程控制android手机另一个android手机

Android实战--远程操控安卓手机 - 简书
Android实战--远程操控安卓手机
又到了实战的时候了,这次我们来玩远程操控安卓手机。
市面上流行了很多安全卫士软件,它们都拥有远程操控手机的功能,如播放报警铃声,获取手机位置等等,这次我们就来看看怎么实现这些功能。
报警铃声的实现
说起所有的远程操控的功能中,就属于报警铃声最容易实现了,所以我们先实现这个。
首先建立一个Android project
然后建立一个SmsReceive广播接收者,没错,就是这个,我们的目的就是使用广播接收者接收到短信,然后通过解析短信的内容来远程操控手机。
SmsReceive代码:
public class SmsReceive extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
那么如何才能解析短信呢?这其实非常简单,只要用以下几行代码就行了
Object[] objs = (Object[]) intent.getExtras().get("pdus");
for (Object obj : objs) {
// 获得短信内容
SmsMessage sms = SmsMessage.createFromPdu((byte[]) obj); // 此方法已过时
String smsbody = sms.getMessageBody();
String sender = sms.getOriginatingAddress();
System.out.println("发件人:" + sender + "
内容:" + smsbody);
我们将这段解析短信的代码加入SmsReceive广播接收者的onReceive()方法之中,这时我们就可以监听到短信的信息了!
但是且慢,我们还必须在mainfest中注册广播接收者才能生效,要时刻牢记Android四大组件都是必须要注册才能生效的。
&receiver android:name="com.example.controldevice.SmsReceive" &
&intent-filter android:priority="1000" &
&!-- 获取短信接收事件 --&
&action android:name="android.provider.Telephony.SMS_RECEIVED" /&
&/intent-filter&
&/receiver&
另外,接收短信是属于用户的隐私,所以还需要添加权限,如下:
&uses-permission android:name="android.permission.READ_SMS" /&
&uses-permission android:name="android.permission.RECEIVE_SMS" /&
OK,这时候我们就已经成功的监听到了短信了,够简单吧!现在就打开模拟器尝试着发一条短信看看有没有输出吧!
前期准备工作已经完成,那么我们就来操控报警短信吧。
在SmsReceive广播接收者的onReceive()方法中添加以下代码:
public void onReceive(Context context, Intent intent) {
Object[] objs = (Object[]) intent.getExtras().get("pdus");
······
System.out.println("发件人:" + sender + "
内容:" + smsbody);
if ("#*music*#".equals(smsbody)){
System.out.println("快点播放音乐");
// 播放音乐
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.bestfriend); // 在res目录下的raw文件夹添加bestfriend的歌曲
mediaPlayer.start();
妥妥的,现在当你发送"#music#到你的模拟器时,广播接收者就会解析短信,然后播放报警铃声。
真的是很简单的一个项目呀~~~
哎,不要吐槽,我们只是先来一点简单的东西但开胃菜,剩下的就稍微有些难度了。
擦除手机信息 & 远程锁屏 (上)
响起报警铃声是如此的简单,那么擦出手机信息,恢复出厂设置呢?
擦除手机信息和远程锁屏属于手机的危险操作,所以一般情况下是无法使用手机应用直接使用这些功能的。
这些高危操作都属于手机管理员的操作,所以我们必须要获得手机的超级管理员权限才能够操作。需要注意的是手机超级管理员与root是不同的,手机超级管理员指的是获得手机最高的权限,而root则是获得手机的所有权限。
获得手机超级管理员权限
手机超级管理员权限是在Android2.3的时候提出来的,它可以设置开屏密码,禁用摄像头,锁屏等等,具体可以查看Android官网:
获取超级管理员,首先要创建一个Admin类继承自DeviceAdminReceiver,当然了,里面可以重写很多方法,但是我们现在先不理。代码如下:
public class Admin extends DeviceAdminReceiver {
然后我们要在res资源目录下创建一个xml目录,在里面创建device_admin_sample.xml。这个文件是用来说明开启超级管理员后用户所拥有的权限,代码如下:
&device-admin
xmlns:android="http://schemas.android.com/apk/res/android"&
&uses-policies&
&limit-password /&
&watch-login /&
&reset-password /&
&force-lock /&
&wipe-data /&
&expire-password /&
&encrypted-storage /&
&disable-camera /&
&/uses-policies&
&/device-admin&
在manifest中注册DeviceAdminReceiver,添加代码如下:
android:name="com.example.controldevice.Admin"
android:description="@string/sample_device_admin_description"
android:label="@string/sample_device_admin"
android:permission="android.permission.BIND_DEVICE_ADMIN" &
&meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_sample" /&
&intent-filter&
&action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /&
&/intent-filter&
&/receiver&
前置工作已经完成了,我们就来正式获取管理员权限吧。
我们在MainActivity中添加两个按钮,一个register按钮,点击打开激活超级管理员权限,另一个unregister按钮,点击取消激活超级管理员权限。
要注意的是如果激活了超级管理员权限,那么以后是不能够直接卸载这个app的,必须要取消激活超级管理员权限之后才能正常卸载。
MainActivity代码如下:
public class MainActivity extends Activity {
private DevicePolicyManager devicePolicyM
private ComponentName componentN
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
devicePolicyManager = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
componentName = new ComponentName(this, Admin.class);
Button register = (Button) findViewById(R.id.register);
register.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Launch the activity to have the user enable our admin.
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"激活超级管理员中");
startActivity(intent);
Button unregister = (Button) findViewById(R.id.unregister);
unregister.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 取消激活超级管理员
if (devicePolicyManager.isAdminActive(componentName)){
devicePolicyManager.removeActiveAdmin(componentName);
在这里我们遇到两个陌生的API,一个是DevicePolicyManager,这个是设备权限管理器,使用它才能够管理锁屏、擦出手机数据等等功能。另一个是ComponentName,它用于打开其他应用程序中的Activity或服务的,因为启动超级管理员权限是要启动Android内置Activity才能激活的,所以需要使用ComponentName。
但我们点击register按钮的时候,app会直接打开另一个活动,不要慌,这是正常现象,点击Activate激活即可激活超级管理员,界面如下
supermanager.png
当然了,这是用代码的方法来激活超级管理员,你也可以直接在设置中激活,方法是:Settings-security-Device administrators-我们的app。
要注意的是只有继承了DeviceAdminReceiver,以及在manifest注册过之后才会出现我们创建的app。
擦除手机信息 & 远程锁屏 (下)
现在我们终于可以远程擦除手机信息和远程锁屏了!回到我们的SmsReceive,继续在onReceive()中添加代码:
public class SmsReceive extends BroadcastReceiver {
private DevicePolicyManager mDevicePolicyM
private ComponentName mComponentN
public void onReceive(Context context, Intent intent) {
mDevicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
mComponentName = new ComponentName(context, Admin.class);
Object[] objs = (Object[]) intent.getExtras().get("pdus");
for (Object obj : objs) {
// 获得短信内容
SmsMessage sms = SmsMessage.createFromPdu((byte[]) obj);
String smsbody = sms.getMessageBody();
String sender = sms.getOriginatingAddress();
System.out.println("发件人:" + sender + "
内容:" + smsbody);
if ("#*music*#".equals(smsbody)){
// 播放音乐
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.bestfriend);
mediaPlayer.start();
} else if ("#*wipedata*#".equals(smsbody)){
// 擦出手机数据
if(mDevicePolicyManager.isAdminActive(mComponentName)) {
mDevicePolicyManager.wipeData(0);
} else if ("#*lock*#".equals(smsbody)){
if (mDevicePolicyManager.isAdminActive(mComponentName)){
mDevicePolicyManager.lockNow();
这时候你发送短信#wipedata#或者#lock#就能实现远程擦除数据和锁屏了。
不过需要提示的是擦出数据在模拟器中不太好用,有可能会导致模拟器卡死,还有小心在真机测试,这可真是会恢复出厂设置的。
这次的实战课程就到这里为止了,由于内容并不复杂,也就不上传项目到github中了。
这个项目要注意的有:
1、想要解析短信,必须要短信的广播接收者中添加
&intent-filter&
&action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /&
&/intent-filter&
否则app是无法接收到短信的。当然了,添加用户权限也是必须的。
2、获取超级管理员权限,这需要三部走,
要继承DeviceAdminReceiver,然后在mainfest中注册
要在xml中写入获取超级管理员中能获取的权限
通过代码或者直接在设置中激活超级管理员。
以上就是这篇文章的全部内容
进击的android开发者
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
在Android的设计中,资源的访问或者网络连接,要得到这些服务都需要声明其访问权限,否则将无法正常工作。在Android中这样的权限有很多种,这里将各类访问权限一一罗列出来,供大家使用时参考之用。 android.permission.EXPAND_STATUS_BAR ...
前言:权限是一种安全机制。Android权限主要用于限制应用程序内部某些具有限制性特性的功能使用以及应用程序之间的组件访问。对于用户来说,这无疑是一种对自身安全的保障,用户在安装程序的时会提示用户此程序需要哪些权限,比如连网,发短信等等,这些权限完全由用户来选择是否给予权限...
android.permission.EXPAND_STATUS_BAR 允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序 android.permission.FACTORY_TEST 作为一个工厂测试程序,运行...
持续分享28天,。张红。
今天碰到一个朋友,很热情的邀请我去她新租的房子看看。
看得出房子很旧,但是她清理的很干净,布置的很温馨。这是个有故事的单亲妈妈,怀孕时离婚。当我认识她的时候感觉很舒服,就帮了她一些,后来和前夫复婚,又辞掉了我给她的工作,很快...
背景: 微软的 .NET FRAMEWORK 现在可谓如火如荼了。但是,.NET 一直所为人诟病的就是“胃口太大”,狂吃内存,虽然微软声称 GC 的功能和智能化都很高,但是内存的回收问题,一直存在困扰,尤其是 winform 程序,其主要原因是因为.NET程序在启动时,是需...
为什么要加入track by 循环的对象是通过哈希值检测是否一致, 当循环发现两个一样的对象, ,js不会重复渲染. 所以当你循环可能会出现重复对象,那么你需要加入track by $index或者其他可以表示唯一的id。 To minimize creation of D...
3号到10号,无奈中的游离于紧张的学习状态外,是时候收心回归了。回去后开足马力,把失去的时间补回来!减少刷手机的时间,玩耍聚乐的时间,还剩整整一个月,下个月的明天开考!逆水行舟 不进则退!
1.关于学习英语每个人的想法都不一样但是目标都是学好英语。 2.ridiculous reference precise theorist formula 3.A great deal of teaching is still based on behavorist psy...如何利用android手机远程控制另一个android手机_百度知道
如何利用android手机远程控制另一个android手机
我有更好的答案
做不到,只是某些手机自带这功能
采纳率:21%
用软件吧,比如 向日葵远程控制软件的安卓客户端,需要安装在你的安卓被控端手机上,主控端手机也下载个主控端。然后注册一个向日葵账号两端绑定、登录就可以了~~
本回答被提问者和网友采纳
手机上远程控制另一部android可以通过TeamViewer办到。温馨提示:如果需要对目标手机进行实时远程操控,目标受控手机需要ROOT权限1、在需要被控制的目标手机上下载安装,打开 QuickSupport APP(受控端)QuickSupport2、如果你需要在电脑上控制手机,请下载安装 TeamViewer 电脑版(控制端)3、打开第二步装好的 TeamViewer 控制端(PC或手机版都可以),输入受控端手机APP上显示的数字ID,就可以开始连接控制了。
我用的苹果,对这方面不是很清楚,但我知道锤子手机有一个远程协助功能,你可以去应用商店,搜搜看,安卓都是开源,应该有大神
百度搜索摇控手机
不行吧!你可以去淘宝找!应该会有第三方工具
其他3条回答
为您推荐:
其他类似问题
android手机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。& 求推荐个软件,用平板或者安卓手机远程控制另一台PC ...
查看: 1577|回复: 13
性别男&UID624894&帖子771&主题77&精华0&龙晶4 &龙威0 &积分10&阅读权限100&好友0&注册时间&最后登录&
精华0&龙威0 &积分10&好友0&注册时间&
求大神介绍
性别男&UID734424&帖子7583&主题23&精华2&龙晶3 &龙威0 &积分24&阅读权限100&好友0&注册时间&最后登录&
精华2&龙威0 &积分24&好友0&注册时间&
本帖最后由 轻舟过 于
10:48 编辑
teamviewer
性别男&UID471465&帖子1323&主题6&精华0&龙晶0 &龙威0 &积分3&阅读权限70&好友1&注册时间&最后登录&
精华0&龙威0 &积分3&好友1&注册时间&
性别男&UID824833&帖子1287&主题12&精华0&龙晶0 &龙威0 &积分1&阅读权限50&好友0&注册时间&最后登录&
精华0&龙威0 &积分1&好友0&注册时间&
teamviewer挺好,说是要付费,其实用一段时间会提示购买,但可以不用管它,因为非商业用途是免费的。
性别男&UID269279&帖子31273&主题951&精华5&龙晶20 &龙威0 &积分96&阅读权限150&好友7&注册时间&最后登录&
精华5&龙威0 &积分96&好友7&注册时间&
如果PC是WINDOWS的话用自带的远程桌面就可以。
IOS和安卓都有客户端。
性别男&UID606914&帖子2024&主题41&精华1&龙晶0 &龙威0 &积分9&阅读权限90&好友0&注册时间&最后登录&
精华1&龙威0 &积分9&好友0&注册时间&
楼上加1,我就是这么做的,win系统远程桌面安全多了。
性别男&UID501249&帖子2167&主题126&精华1&龙晶4 &龙威0 &积分17&阅读权限100&好友1&注册时间&最后登录&
精华1&龙威0 &积分17&好友1&注册时间&
性别男&UID585639&帖子695&主题16&精华0&龙晶0 &龙威0 &积分2&阅读权限70&好友0&注册时间&最后登录&
精华0&龙威0 &积分2&好友0&注册时间&
teamviewer非常好用,我用过ios和android的,控制电脑很流畅
性别男&UID739721&帖子4624&主题39&精华0&龙晶2 &龙威0 &积分9&阅读权限90&好友0&注册时间&最后登录&
精华0&龙威0 &积分9&好友0&注册时间&
我一直想找用电脑远程控制手机的。。。
性别男&UID523944&帖子1238&主题68&精华0&龙晶0 &龙威0 &积分2&阅读权限70&好友0&注册时间&最后登录&
精华0&龙威0 &积分2&好友0&注册时间&
不需要画面流畅性的用远程桌面,想打打游戏比如炉石的用串流
teamviewer设置比较繁琐,无线下画面质量也比较低。可以用KinoConsole,只要在同一wifi下就可以了
性别男&UID417270&帖子1378&主题3&精华0&龙晶0 &龙威0 &积分7&阅读权限90&好友0&注册时间&最后登录&
精华0&龙威0 &积分7&好友0&注册时间&
teamviewer,良心软件!
性别男&UID542456&帖子152&主题10&精华0&龙晶0 &龙威0 &积分2&阅读权限70&好友0&注册时间&最后登录&
精华0&龙威0 &积分2&好友0&注册时间&
性别男&UID407672&帖子2525&主题24&精华0&龙晶1 &龙威0 &积分5&阅读权限90&好友1&注册时间&最后登录&
精华0&龙威0 &积分5&好友1&注册时间&
Xt800非常好用。
性别男&UID417118&帖子1535&主题91&精华0&龙晶6 &龙威0 &积分16&阅读权限100&好友2&注册时间&最后登录&
精华0&龙威0 &积分16&好友2&注册时间&
支持楼上的xt800…
有个人版企业版,手机上可以控制电脑,很好用。
Powered byAndroid开发中Android设备如何通过网络进行远程操作
开发中Android设备如何通过网络进行远程操作。首先需要把Android设备连接到电脑上,先要打开tcpip连接方式:
adb tcpip 5555
默认端口是5555,如果要使用其他端口可以直接修改
之后查看到设备IP,保证电脑和设备网络可以互通访问。然后就可以通过网络连接了
adb connect 192.168.1.4:5555
连接成功后就可以使用adb命令对手机进行相应的操作了。
电脑可以同时远程连接多个设备,只需要更换相应的设备IP就可以了。×用微信扫描并分享
Airdroid 推出可远程控制 Android 设备的应用 AirMirror
Loading...
目前的 AirMirror 只能控制 Android 设备,并且需要设备拥有 root 权限,注意,没有也可以,但需要打开 USB 调试模式,连接电脑,通过 Airdroid 桌面客户端的 免root 功能。
再捋一遍,首先控制端 A 手机与被控制端 B 手机,两者都需要是 Android 系统,A 手机安装 AirMirror,B 手机安装最新的 Airdroid 之后,都登录同一个 Airdroid 账号(免费版支持绑定两个设备),然后就可以使用 A 手机来控制 B 手机了。
连接成功后,A 手机将显示 B 手机屏幕,并且可以直接触控,右下角有菜单可以设置清晰度、全屏模式、旋转、音量等功能。
就目前来看,AirMirror 唯一的门槛就是需要 root 或者连接客户端后使用 免root 功能。
另外,Airdroid 真是神奇的存在,非常接地气。除了在主页提供单独的 APK 安装文件下载,居然还在 AirMirror 应用中提供了二维码,如果使用微信扫码,还会提示请在右上角点击用浏览器打开…
既然如此,直接给官网地址:
×用微信扫描并分享
我记得旧版有桌面一键开关widget,新版给取消了
最热门标签
传说中的小众软件 让你的手机应用与众不同。
商业网站、微信公众号 或其他未授权媒体不得复制、转载、使用本站内容。

我要回帖

更多关于 android 远程控制 的文章

 

随机推荐