自动打开国航APP并签到
2017-12-02 17:02
155 查看
分析需求
1、需求国航APP签到可以送里程,写一个Demo自动打开国航,并且跳转签到页面,自动签到
2、 主要步骤
启动国航APP
自动点击:(1)点击底部button跳转到签到页面;(2)点击“签到”
开机启动Demo
启动国航APP
1、首先需要知道APP的包名:在手机打开国航APP,然后通过adb命令dump当前Activity:
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' --color=always
结果如下:
mCurrentFocus=Window{473be9d u0 com.rytong.airchina/com.neu.airchina.HomeActivity} mFocusedApp=AppWindowToken{bd1eb7 token=Token{685c1b6 ActivityRecord{8952551 u0 com.rytong.airchina/com.neu.airchina.HomeActivity t579}}}
Activity名称前面即为包名:com.rytong.airchina
2、调用Context.getPackageManager.getLaunchIntentForPackage(APP_PACKAGE_NAME),启动APP
public static void launchApp(Context context) { if (isAppInstalled(context, APP_PACKAGE_NAME)) { context.startActivity(context.getPackageManager().getLaunchIntentForPackage(APP_PACKAGE_NAME)); } else { Toast.makeText(context, "The App is not installed", Toast.LENGTH_SHORT); } }
自动点击
实际上是实现Android的模拟点击:可以采用AccessibilityService具体参考 minggo620 自动点击[模拟点击、辅助服务、反射遍历破解]
主要原理有两点:
1、通过resource-id获取对应的View
nodeInfo.findAccessibilityNodeInfosByViewId(resId)
2、执行AccessibleService的指定方法实现点击
targetNode.performAction(AccessibilityNodeInfo.ACTION_CLICK);
可以通过DDMS>>Dump View Hierarchy查找View的ID, 结果如下, id =
ll_home_me
开启启动Demo
主要原理:注册开机广播android.intent.action.BOOT_COMPLETED,在onReceive方法启动Demopublic class BootBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction().toString(); if (Intent.ACTION_BOOT_COMPLETED.equals(action)) { Toast.makeText(context, "收到开机广播", Toast.LENGTH_LONG); Intent mIntent = new Intent(context, MainActivity.class); mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(mIntent); } } }
参考Android 开机自启动应用
Demo没有安装在手机内存,但是如果手机关机之前,Demo在后台,那么重启手机时,Demo可以自动启动。
Demo地址
https://github.com/BuddyZH/OpenAirChina目前设置启动国航APP后等待9秒,点击底部ME按钮
ll_home_me,然后等待2秒,点击个人中心的“签到”
fl_sign_up,最后等待5秒,点击签到页面的“签到”
rl_sign_up_sign
相关文章推荐
- 安装app后自动打开
- android的APP自动更新程序,检测版本,然后下载安装,但app安装后不提示“完成,打开”?
- AndroidStudio2.3 run app,无法自动打开app
- HTML5打开本地app应用的方法,如果你的手机上安装App,就会自动打app,否则在页面上会提示你进行下载app
- app自动更新安装完毕并打开
- 如何在android手机上实现app开机自动运行启动(可以打开应用界面)。
- 求助!!用vue做了一款app,怎么实现打开app自动检测下载更新的功能呢
- android 打开app先显示欢迎界面后自动跳到主界面
- Python实现App自动签到领取积分功能
- IOS APP中,使用h5播放器,默认打开网页的时候,会自动全屏,解决方法webkit-playsinline
- 孩子王app自动签到送现金券
- 好推二维码如何通过应用宝微下载支持微信自动打开APP下载?
- django-admin.py startproject django-admin.py startapp无效 自动打开pycharm
- Android中自己实现App一打开判断是否有更新,并通过依赖AutoInstaller实现自动更新
- 尝试为文件 C:\XXX\App_Data\XXX.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中
- 关于打开APP进入欢迎界面后,自动跳到主页面的解决方法
- android UiAutomator一个在京东app里面自动签到领流量的方法
- 用苹果手机扫描自动打开Appstore页面下载APP,用安卓手机扫码自动打开应用页面下载APP
- android在下载app后自动安装,安装完成后不会弹出打开或完成界面
- Android在一个app中实现另一个app的自动安装,安装完成后自动打开(需Root)