Android开发之在任意Activity在广点通页面添加自定义布局在穿山甲页面添加任意布局

本文介绍如何在Android的广点通、穿山甲和优量汇等广告页面添加自定义布局。通过获取广告页面Activity并插入自定义布局实现需求,详细步骤包括获取当前Activity、自定义布局的添加方法以及示例XML布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老套路看下效果图:

上面是穿山甲的广告页面,需求是添加自定义布局到别人SDK的页面,SDK内部不支持这样方式。怎么办呢?

思路:实际上我们可以换位思考下,如果能拿到这个广告页的activity页面,在这个拿到的activity页面添加自定义布局不就好了。

看下如何获取当前activty:下面这个方法要在application中初始化

   /**
     * 监听Activity变化
     */
    private void initActivityLifecycleCallbacks() {
        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
            @Override
            public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
                //每次都添加activity到栈中
                ActivityManager.getInstance().addActivity(activity);
                Log.i("wsc", String.format("ActivityLifecycleCallbacks ---- onActivityCreated %s", activity.getLocalClassName()));
            }

            @Override
            public void onActivityStarted(Activity activity) {
                if (activityCount == 0) {
                    ActivityManager.getInstance().setAppInBackGround(false);
                    Log.i("wsc", String.format("ActivityLifecycleCallbacks ---- onActivityStarted 回到前台 %s ", activity.getLocalClassName()));
                    AppRecordUtils.getInstance().startRecord();
                }
                activityCount++;

                Log.i("wsc", String.format("ActivityLifecycleCallbacks ---- onActivityStarted %s ", activity.getLocalClassName()));


            }

            @Override
            public void onActivityResumed(Activity activity) {
                Log.i("wsc", String.format("ActivityLifecycleCallbacks ---- onActivityResumed %s ", activity.getLocalClassName()));


            }

            @Override
            public void onActivityPaused(Activity activity) {
                Log.i("wsc", String.format("ActivityLifecycleCallbacks ---- onActivityPaused %s ", activity.getLocalClassName()));

            }

            @Override
            public void onActivityStopped(Activity activity) {
                activityCount--;
                if (activityCount == 0) {
                    ActivityManager.getInstance().setAppInBackGround(true);
                    Log.i("wsc", String.format("ActivityLifecycleCallbacks ---- onActivityStopp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值