抢红包APP教程

设计思路:调用Android系统自带的AccessibilityService服务监控手机消息状态(为了防止受其他非微信类消息的干扰,设置只监控“com.tencent.mm”的包名;为了保证可以兼容多种情况下可以抢到到红包,如锁屏状态下、不在微信界面下、在微信主界面下、群屏蔽下、聊天界面出现连续的红包雨等情况,需设置监控状态有TYPE_NOTIFICATION_STATE_CHANGED (通知栏变化)、TYPE_WINDOW_CONTENT_CHANGED(界面内容变化)、TYPE_WINDOW_STATE_CHANGED(窗口体变化)然后根据状态变化出现“[微信红包]”的文字,则调用AccessibilityService的ACTION_CLICK模拟点击进入红包界面并领取,完成自动抢红包的操作;最后执行GLOBAL_ACTION_BACK返回聊天界面。

程序流程图:

” data-caption=”” data-size=”normal” data-rawwidth=”760″ data-rawheight=”800″ class=”origin_image zh-lightbox-thumb lazy” width=”760″ data-original=”https://pic2.zhimg.com/v2-d32a516bd42622930a9b62ba2d339517_r.jpg” data-actualsrc=”https://www.hixianchang.com/wp-content/uploads/2018/20180720/T207838.jpg”>

代码解析:

(1)在MainActivity跳转到手机无障碍模式界面,提示用户打开AccessibilityService服务

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        try {            //打开系统设置中辅助功能            Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);            startActivity(intent);            Toast.makeText(this, "group04_抢红包APP->开启", Toast.LENGTH_SHORT).show();        } catch (Exception e) {            e.printStackTrace();        }    }}

相关新闻