当前位置: 首页 > news >正文

打开网站弹出图片代码佛山seo代理计费

打开网站弹出图片代码,佛山seo代理计费,哈尔滨做网站公司,2021年国内最新新闻如图,原生系统上,设备上的壁纸 显示系统内置壁纸。如果没有添加内置壁纸,就显示默认的壁纸。点击进去就是预览页面 扩展下,默认壁纸在 frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png frameworks/b…

在这里插入图片描述
如图,原生系统上,设备上的壁纸 显示系统内置壁纸。如果没有添加内置壁纸,就显示默认的壁纸。点击进去就是预览页面

扩展下,默认壁纸在

frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png
frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png
frameworks/base/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png

添加默认壁纸,追溯下代码。

1.ThemePicker

当前页面是 com.android.wallpaper/.picker.CustomizationPickerActivity ,对应源码 packages/apps/ThemePicker

但是在此目录下找不到 CustomizationPickerActivity 。

查看 packages/apps/ThemePicker/Android.bp

java_defaults {name: "ThemePicker_defaults",static_libs: ["guava","monet","renderscript_toolkit","wallpaper-common-deps","SettingsLibSettingsTheme","SystemUI-statsd","styleprotoslite","androidx.lifecycle_lifecycle-livedata-ktx","androidx.lifecycle_lifecycle-runtime-ktx","androidx.lifecycle_lifecycle-viewmodel-ktx","androidx.recyclerview_recyclerview","SystemUICustomizationLib",],jni_libs: ["librenderscript-toolkit",],srcs: [":WallpaperPicker2_srcs",":ThemePicker_srcs",":ThemePicker_src_overrides",],use_embedded_native_libs: true,resource_zips: [":WallpaperPicker2_res", ":ThemePicker_res", ":ThemePicker_res_overrides"],optimize: {enabled: false,},kotlincflags: ["-Xjvm-default=enable"],certificate: "",privileged: true,system_ext_specific: true,
}//
// Build app code.
//
android_app {name: "ThemePicker",defaults: ["ThemePicker_defaults"],platform_apis: true,manifest: "AndroidManifest.xml",additional_manifests: [":WallpaperPicker2_Manifest"],overrides: ["WallpaperPicker2"],
}

ThemePicker 引用了 WallpaperPicker2,在 WallpaperPicker2 里找到了 CustomizationPickerActivity 。

2.WallpaperPicker2

找到 DefaultCategoryProvider.java ,

	/*** AsyncTask subclass used for fetching all the categories and pushing them one at a time to* the receiver.*/protected static class FetchCategoriesTask extends AsyncTask<Void, Category, Void> {private CategoryReceiver mReceiver;private PartnerProvider mPartnerProvider;protected final Context mAppContext;public FetchCategoriesTask(CategoryReceiver receiver, Context context) {mReceiver = receiver;mAppContext = context.getApplicationContext();}@Overrideprotected Void doInBackground(Void... voids) {mPartnerProvider = InjectorProvider.getInjector().getPartnerProvider(mAppContext);// "My photos" wallpapersandroid.util.Log.d("luoah", "[DefaultCategoryProvider] doInBackground ,My photos wallpapers");publishProgress(getMyPhotosCategory());android.util.Log.d("luoah", "[DefaultCategoryProvider] doInBackground ,publishDeviceCategories");publishDeviceCategories();// Legacy On-device wallpapers. Only show if on mobile.android.util.Log.d("luoah", "[DefaultCategoryProvider] doInBackground ,getOnDeviceCategory");publishProgress(getOnDeviceCategory());// Live wallpapers -- if the device supports them.if (mAppContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LIVE_WALLPAPER)) {				List<WallpaperInfo> liveWallpapers = LiveWallpaperInfo.getAll(mAppContext, getExcludedLiveWallpaperPackageNames());android.util.Log.d("luoah", "[DefaultCategoryProvider] doInBackground ,liveWallpapers.size():"+liveWallpapers.size());if (liveWallpapers.size() > 0) {publishProgress(new ThirdPartyLiveWallpaperCategory(mAppContext.getString(R.string.live_wallpapers_category_title),mAppContext.getString(R.string.live_wallpaper_collection_id),liveWallpapers,PRIORITY_LIVE,getExcludedLiveWallpaperPackageNames()));}}// Third party apps.android.util.Log.d("luoah", "[DefaultCategoryProvider] doInBackground ,Third party apps");List<ThirdPartyAppCategory> thirdPartyApps = ThirdPartyAppCategory.getAll(mAppContext, PRIORITY_THIRD_PARTY, getExcludedThirdPartyPackageNames());for (ThirdPartyAppCategory thirdPartyApp : thirdPartyApps) {publishProgress(thirdPartyApp);}return null;}

2.1 图库上的壁纸

2.2 设备上的壁纸

packages/apps/WallpaperPicker2/src/com/android/wallpaper/module/DefaultCategoryProvider.java
getOnDeviceCategory 方法,

        /*** Returns a category which incorporates both GEL and bundled wallpapers.*/protected Category getOnDeviceCategory() {android.util.Log.d("luoah", "[DefaultCategoryProvider] getOnDeviceCategory");try {throw new Exception("luoah_getOnDeviceCategory");} catch (Exception e) {e.printStackTrace();}List<WallpaperInfo> onDeviceWallpapers = new ArrayList<>();if (!mPartnerProvider.shouldHideDefaultWallpaper()) {DefaultWallpaperInfo defaultWallpaperInfo = new DefaultWallpaperInfo();onDeviceWallpapers.add(defaultWallpaperInfo);}List<WallpaperInfo> partnerWallpaperInfos = PartnerWallpaperInfo.getAll(mAppContext);onDeviceWallpapers.addAll(partnerWallpaperInfos);List<WallpaperInfo> legacyPartnerWallpaperInfos = LegacyPartnerWallpaperInfo.getAll(mAppContext);onDeviceWallpapers.addAll(legacyPartnerWallpaperInfos);List<WallpaperInfo> privateWallpapers = getPrivateDeviceWallpapers();if (privateWallpapers != null) {onDeviceWallpapers.addAll(privateWallpapers);}return onDeviceWallpapers.isEmpty() ? null : new WallpaperCategory(mAppContext.getString(R.string.on_device_wallpapers_category_title),mAppContext.getString(R.string.on_device_wallpaper_collection_id),onDeviceWallpapers,PRIORITY_ON_DEVICE);}

packages/apps/WallpaperPicker2/src/com/android/wallpaper/model/PartnerWallpaperInfo.java ,

/*** @param ctx* @return All partner wallpapers found on the device.*/public static List<WallpaperInfo> getAll(Context ctx) {PartnerProvider partnerProvider = InjectorProvider.getInjector().getPartnerProvider(ctx);List<WallpaperInfo> wallpaperInfos = new ArrayList<>();final Resources partnerRes = partnerProvider.getResources();final String packageName = partnerProvider.getPackageName();if (partnerRes == null) {return wallpaperInfos;}final int resId = partnerRes.getIdentifier(PartnerProvider.LEGACY_WALLPAPER_RES_ID, "array",packageName);android.util.Log.d("luoah", "[PartnerWallpaperInfo] getAll , packageName:"+packageName+" , resId:"+resId);// Certain partner configurations don't have wallpapers provided, so need to check; return// early if they are missing.if (resId == 0) {return wallpaperInfos;}final String[] extras = partnerRes.getStringArray(resId);for (String extra : extras) {int wpResId = partnerRes.getIdentifier(extra, "drawable", packageName);android.util.Log.d("luoah", "[PartnerWallpaperInfo] getAll , wpResId:"+wpResId);if (wpResId != 0) {final int thumbRes = partnerRes.getIdentifier(extra + "_small", "drawable", packageName);if (thumbRes != 0) {final int fullRes = partnerRes.getIdentifier(extra, "drawable", packageName);android.util.Log.d("luoah", "[PartnerWallpaperInfo] extras in , thumbRes:"+thumbRes);WallpaperInfo wallpaperInfo = new PartnerWallpaperInfo(thumbRes, fullRes);wallpaperInfos.add(wallpaperInfo);}} else {Log.e("PartnerWallpaperInfo", "Couldn't find wallpaper " + extra);}}return wallpaperInfos;}

加打印,机器上 packageName 是 com.google.android.gmsintegration , 即 vendor/partner_gms/apps/GmsSampleIntegration

结合源码分析,在 GmsSampleIntegration 应用里加一组数组,数组元素是壁纸图片名称,

  • 添加 res/values/arrays.xml
<resources><string-array name="partner_wallpapers" translatable="false"><item>wallpaper_01</item><item>wallpaper_02</item><item>wallpaper_03</item><item>wallpaper_04</item><item>wallpaper_05</item><item>wallpaper_06</item>
</string-array>
  • res_dhs_full/drawable/ 目录放入壁纸,同时存放 *_small.jpg ,
wallpaper_01.jpg
wallpaper_01_small.jpg
wallpaper_02.jpg
wallpaper_02_small.jpg
wallpaper_03.jpg
wallpaper_03_small.jpg
wallpaper_04.jpg
wallpaper_04_small.jpg
wallpaper_05.jpg
wallpaper_05_small.jpg
wallpaper_06.jpg
wallpaper_06_small.jpg

替换后的效果,点击进去显示选择图片,选择图片后是预览页面,
在这里插入图片描述

2.3 动态壁纸

2.4 三方应用的壁纸

http://www.hkea.cn/news/265514/

相关文章:

  • 外贸家具网站百度引擎搜索网址
  • 公司网站的栏目设置肇庆seo优化
  • 如何制作一个论坛网站网络服务器配置与管理
  • 北京中国建设部网站有什么平台可以推广
  • flash网站优缺点厦门百度seo
  • 贵阳利于优化的网站百度搜索引擎推广步骤
  • 金色 网站 模板外链是什么
  • 网站有多难做如何做推广引流赚钱
  • 建设企业网站怎么样百度首页 百度
  • 热烈祝贺网站上线泉州seo代理计费
  • 网站平台建设意见长沙有实力seo优化
  • 深圳网站如何制作西安seo网站推广优化
  • 网站建设业务文案网站seo检测工具
  • 石家庄做外贸网站建设现在最好的营销方式
  • 兰州做网站公司有哪些html+css网页制作成品
  • 福州做网站的公司多少钱信息流优化
  • 群晖的网站开发百度客服怎么转人工
  • 制作网站项目流程无锡网站建设seo
  • 最好的开发网站建设价格如何搜索网页关键词
  • 做网站犯法了 程序员有责任吗网站建设合同
  • 建设部职称网站关键词优化营销
  • 做seo还要需要做网站吗百度热搜榜排行
  • 福建城市建设厅网站怎么推广一个网站
  • 机构网站建设需要交费吗关键词挖掘
  • 专业网站建设费用报价今日最新消息
  • 电商网站建设论文2022黄页全国各行业
  • 能源企业 网站建设网络营销的应用
  • 如何看网站是用什么语言做的关键词排名是由什么决定的
  • 政府网站建设招标书百度网站收录
  • 已经有了网站怎么做推广哈尔滨关键词优化报价