精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android探索之旅 | 為應用添加角標(Badge)

移動開發(fā) Android
角標,英語是badge,也就是“徽章,像章,獎章; 象征,標記”的意思。一般來說,應用的角標是用來標記有多少條提醒(Notification)沒讀(unread),一旦點擊提示進應用閱讀了,角標也會消失。

[[184821]]

– 簡書作者 謝恩銘 轉載請注明出處

需求簡介

角標是什么意思呢?

看下圖即可明了:   

 

可以看到圖中的樂購這個app右上角的紅色的圓圈,里面有10這個數(shù)字的,就是一種角標。

角標,英語是badge,也就是“徽章,像章,獎章; 象征,標記”的意思。

一般來說,應用的角標是用來標記有多少條提醒(Notification)沒讀(unread),一旦點擊提示進應用閱讀了,角標也會消失。

Android角標起源

角標原本是蘋果的iOS中的東西,Android原生并不支持角標,因為Google的意思是讓大家用Notification(提示欄)即可,角標實在大有讓處女座“跳崖”的風險。幸好我不是…

最近公司的項目中,客戶的一個新需求是在我們的加密信息應用上加上角標功能,因為我們的合作伙伴是三星(可以參看我的這篇文章:程序員在法國 | 我被法國國防部盯上了!),因此我就去網(wǎng)上找相關資料。

找的時候,才知道上面所說的Android原生不支持角標一事。不過無妨,厲害的Android第三方廠商可以通過在自定義的Launcher(啟動器)中操作來實現(xiàn)添加角標。

我在第一時間當然是去找三星的移動設備如何添加角標,不過卻有幸找到了Github上的比較普適的項目。

把我導向Github的自然是Stack Overflow,而把我導向Stack Overflow的就是Google,因此我會說:為什么程序員一定要會用Google和Stack Overflow? 。

不錯的github項目

  1. 一般來說,現(xiàn)在被引用最多的Android添加和去除角標的Github項目是這位中國人寫的:https://github.com/leolin310148/ShortcutBadger這個項目挺不錯,雖然更新不是特別勤快,但最近一次更新是在2016年10月31日,也就是兩個月前,還可以接受。
  2. 《Android群英傳》和《Android群英傳:神兵利器》的作者 徐宣生 也在自己的Github上建了一個項目:https://github.com/xuyisheng/ShortcutHelper ,挺有意思,里面還有號稱“瘋狂模式”的為所有在手機桌面上的應用加上99的角標數(shù)的功能,當然了,去除的代碼也有,不然處女座豈不是要暈了~

添加角標的原理就是發(fā)送一個Broadcast(廣播),在廣播的Intent中指定需要被添加角標的應用的packageName(包名),className(類名),count(角標數(shù)目)。當然了,不同廠商的手機的角標操作的Intent的action是不一樣的。

因此,我們如果要給自己的手機里的應用添加角標,只需要簡單的利用上面兩個項目中的代碼即可,一般不需要把全部項目搬過來。當然了,如果你要適配所有手機,那么可以全盤引用項目。

比如我要給三星的手機的應用添加角標,那么我只需要做以下的幾步即可:

在AndroidManifest.xml中添加讀取和寫入角標的權限:

  1. <uses-permission android:name="com.sec.android.provider.badge.permission.READ" /> 
  2. <uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />  

自己寫一個類,隨便取名字,比如叫做 BadgeUtils,在類中添加如下內容:

  1. public class BadgeUtils { 
  2.   private static final String INTENT_ACTION = "android.intent.action.BADGE_COUNT_UPDATE"
  3.   private static final String INTENT_EXTRA_BADGE_COUNT = "badge_count"
  4.   private static final String INTENT_EXTRA_PACKAGENAME = "badge_count_package_name"
  5.   private static final String INTENT_EXTRA_ACTIVITY_NAME = "badge_count_class_name"
  6.  
  7.   public static void setBadgeCount(Context context, ComponentName componentName, int badgeCount) { 
  8.     Intent intent = new Intent(INTENT_ACTION);      
  9.     intent.putExtra(INTENT_EXTRA_BADGE_COUNT, badgeCount);     
  10.     intent.putExtra(INTENT_EXTRA_PACKAGENAME, componentName.getPackageName());     
  11.     intent.putExtra(INTENT_EXTRA_ACTIVITY_NAME, componentName.getClassName()); 
  12.     context.sendBroadcast(intent);   
  13.   } 
  14.  

使用上面的代碼時,只需要傳入三個參數(shù),也就是:

  1. Context : 應用的Context。簡單。
  2. ComponentName :組件名,略有點麻煩。可以這樣來獲取(applicationContext就是應用的Context) :
    1. applicationContext.getPackageManager() 
    2. .getLaunchIntentForPackage(applicationContext.getPackageName()) 
    3. .getComponent() 
  3. badgeCount :角標的數(shù)目,例如10。簡單。

當然了,如果你不想要傳入三個參數(shù)這么麻煩,你也可以再寫一個方法getLauncherClassName,就只需要傳入兩個參數(shù)即可。BadgeUtils中的代碼變?yōu)椋?nbsp;

  1. public class BadgeUtils { 
  2.   private static final String INTENT_ACTION = "android.intent.action.BADGE_COUNT_UPDATE"
  3.   private static final String INTENT_EXTRA_BADGE_COUNT = "badge_count"
  4.   private static final String INTENT_EXTRA_PACKAGENAME = "badge_count_package_name"
  5.   private static final String INTENT_EXTRA_ACTIVITY_NAME = "badge_count_class_name"
  6.  
  7.   public static void setBadgeCount(Context context, int badgeCount) { 
  8.     String launcherClassName = getLauncherClassName(context); 
  9.     if (launcherClassName == null) { 
  10.       return
  11.     } 
  12.  
  13.     Intent intent = new Intent(INTENT_ACTION);      
  14.     intent.putExtra(INTENT_EXTRA_BADGE_COUNT, badgeCount);     
  15.     intent.putExtra(INTENT_EXTRA_PACKAGENAME, context.getPackageName());     
  16.     intent.putExtra(INTENT_EXTRA_ACTIVITY_NAME, launcherClassName); 
  17.  
  18.     context.sendBroadcast(intent);   
  19.   } 
  20.  
  21.   private static String getLauncherClassName(Context context) { 
  22.     PackageManager pm = context.getPackageManager(); 
  23.  
  24.     Intent intent = new Intent(Intent.ACTION_MAIN);  
  25.     intent.addCategory(Intent.CATEGORY_LAUNCHER); 
  26.  
  27.     List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0); 
  28.     for (ResolveInfo resolveInfo : resolveInfos) { 
  29.       String pkgName = resolveInfo.activityInfo.applicationInfo.packageName; 
  30.       if (pkgName.equalsIgnoreCase(context.getPackageName())) { 
  31.         String className = resolveInfo.activityInfo.name
  32.         return className; 
  33.       } 
  34.     } 
  35.     return null;  
  36.   } 
  37.  

使用時傳入兩個參數(shù)即可:

  1. Context : 應用的Context。
  2. badgeCount :角標的數(shù)目,例如10。

清除角標

要清除應用的角標就很簡單了,給badgeCount傳入0即可。

  1. BadgeUtils.setBadgeCount(context,        
  2. context.getPackageManager()                
  3. .getLaunchIntentForPackage(context.getPackageName())                 
  4. .getComponent(),         
  5. 0);  

或者

  1. BadgeUtils.setBadgeCount(context, 0); 

小問題糾錯

上面的 https://github.com/leolin310148/ShortcutBadger 這個項目中,基本已經(jīng)包含了大多數(shù)可以定制角標的Android生產廠商的添加角標的代碼實現(xiàn),不過它也提到:

三星和LG(這兩個難兄難弟)的代碼有很多類似,連角標處理的廣播的Intent中的action也是一樣的,都是:

  1. "android.intent.action.BADGE_COUNT_UPDATE" 

但是作者在三星和LG的兩個角標操作實現(xiàn)類中寫了注釋:

  1. // Deprecated, Samsung devices will use DefaultBadger 
  2. // Deprecated, LG devices will use DefaultBadger  

意思是“三星和LG的實現(xiàn)代碼已經(jīng)Deprecated(失效了),請用DefaultBadger類”。

因此,這兩個需要用 https://github.com/leolin310148/ShortcutBadger/blob/master/ShortcutBadger/src/main/java/me/leolin/shortcutbadger/impl/DefaultBadger.java 中的實現(xiàn):

  1. private static final String INTENT_ACTION = "android.intent.action.BADGE_COUNT_UPDATE"
  2. private static final String INTENT_EXTRA_BADGE_COUNT = "badge_count"
  3. private static final String INTENT_EXTRA_PACKAGENAME = "badge_count_package_name"
  4. private static final String INTENT_EXTRA_ACTIVITY_NAME = "badge_count_class_name"
  5.  
  6. @Override 
  7. public void executeBadge(Context context, ComponentName componentName, int badgeCount) throws ShortcutBadgeException { 
  8.   Intent intent = new Intent(INTENT_ACTION); 
  9.   intent.putExtra(INTENT_EXTRA_BADGE_COUNT, badgeCount); 
  10.   intent.putExtra(INTENT_EXTRA_PACKAGENAME, componentName.getPackageName()); 
  11.   intent.putExtra(INTENT_EXTRA_ACTIVITY_NAME, componentName.getClassName()); 
  12.  
  13.   if (BroadcastHelper.canResolveBroadcast(context, intent)) { 
  14.     context.sendBroadcast(intent); 
  15.   } else { 
  16.     throw new ShortcutBadgeException("unable to resolve intent: " + intent.toString()); 
  17.   } 
  18.  

不過上面的代碼有一個小問題,就是那句

  1. if (BroadcastHelper.canResolveBroadcast(context, intent)) { 

在有些設備(比如Samsung Galaxy S5)上會拋出異常(Exception),找不到處理”android.intent.action.BADGE_COUNT_UPDATE”這個Intent的BroadcastReceiver,很奇怪。

但有些設備(比如Samsung Galaxy A5)上又運行正常,沒有拋出異常。

解決辦法是去除這一個檢測,把

  1. if (BroadcastHelper.canResolveBroadcast(context, intent)) { 
  2.   context.sendBroadcast(intent); 
  3. else { 
  4.   throw new ShortcutBadgeException("unable to resolve intent: " + intent.toString()); 
  5.  

替換為簡單的

  1. context.sendBroadcast(intent); 

就可以了。

也就是我上面自己實作時的代碼。

總結

  1. Android的角標添加和移除畢竟是基于各大手機廠商的Launcher的定制,因此不是正統(tǒng)的Android技巧,隨著廠商的Launcher的改變,也許你的代碼未來就不一定有用了,因此需要不斷修改,“推陳出新”。
  2. 不過正所謂“生命在于折騰”,而這也是我們喜歡Android系統(tǒng)的原因。這個萌萌的機器人可以經(jīng)得起我們隨意折騰,在嵌入式領域的應用前途也是很不錯的。
  3. 大家在平時學習編程的時候,也可以把自己的代碼或經(jīng)驗匯總到Github項目,一來惠己利人,二來提高自己的業(yè)界知名度。
責任編輯:龐桂玉 來源: Android開發(fā)中文站
相關推薦

2023-06-28 10:48:09

平臺框架高性能

2010-05-06 17:56:15

Visual Stud

2010-02-24 15:04:54

Visual Stud

2015-11-05 17:38:32

東方通蘇州工業(yè)園大數(shù)據(jù)應用

2022-10-14 16:30:17

2012-07-30 09:41:04

Android搜索功能

2017-04-18 13:55:24

運維云計算WOT

2019-09-25 11:27:07

區(qū)塊鏈比特幣加密貨幣

2020-10-10 14:36:10

Python

2020-10-12 00:41:52

Python變量

2015-03-05 11:28:51

Linux桌面環(huán)境終極指南

2013-10-15 15:17:47

程序員數(shù)據(jù)挖掘

2020-10-11 23:45:55

Python解釋器

2023-07-26 11:22:44

騰訊趙裕

2025-02-07 14:42:59

2021-09-15 10:19:15

鴻蒙HarmonyOS應用

2020-06-12 09:20:33

前端Blob字符串

2021-10-14 08:07:33

Go 應用Prometheus監(jiān)控

2022-06-15 22:15:47

CSS視覺還原

2021-03-08 16:12:35

AIOpsIT人工智能
點贊
收藏

51CTO技術棧公眾號

国产videos久久| 免费网站成人| 在线综合亚洲| 一区二区在线视频播放| 日韩a一级欧美一级| 男人天堂亚洲| 中文字幕av一区二区三区免费看| 96国产粉嫩美女| 国产尤物在线视频| 国产精品99一区二区三区| 亚洲成人网在线| 亚洲欧美aaa| 看黄在线观看| 依依成人综合视频| 亚洲国产欧美日韩| 韩国av永久免费| 久久精品国产第一区二区三区| 久久免费视频在线观看| 亚洲xxxx3d动漫| 国产探花一区在线观看| 欧美mv和日韩mv的网站| 在线观看岛国av| 欧美舌奴丨vk视频| 亚洲成人av福利| 久久av喷吹av高潮av| 黄色免费在线播放| caoporn国产精品| 亚洲自拍欧美色图| 国产精品欧美综合| 在线视频精品| 色综合久久久久久中文网| 男人的天堂av网| 校花撩起jk露出白色内裤国产精品 | 成人动漫视频在线观看免费| 夜夜嗨aⅴ一区二区三区| 性娇小13――14欧美| 久久久久久国产精品| 欧美三级黄色大片| 久久国产中文字幕| 伊人伊成久久人综合网小说 | 精品综合久久88少妇激情| 欧美日本一区二区三区| 男女无套免费视频网站动漫| 亚洲精品一区| 欧美日在线观看| 激情五月宗合网| 蜜桃av在线播放| 午夜在线成人av| 丰满少妇大力进入| 91福利区在线观看| 午夜精品久久久| 久久综合色视频| 都市激情亚洲一区| 日本精品一级二级| 91极品尤物在线播放国产| 久久精品国产福利| 欧美日韩国产色站一区二区三区| 午夜久久久精品| 深夜日韩欧美| 91精品在线观看入口| 三级黄色片免费看| 日韩精品一区二区三区中文字幕| 日韩欧美一区中文| 黄色性视频网站| 色婷婷综合久久久久久| 亚洲欧美日韩中文视频| 亚洲图片第一页| 91欧美大片| 欧美xxxx18性欧美| 久久免费少妇高潮99精品| 99国产精品视频免费观看一公开 | 综合国产在线视频| 日韩一级片大全| 欧美三级第一页| 2018国产精品视频| 岳乳丰满一区二区三区| 亚洲天堂视频在线| 国产一区二区在线观看免费播放| 91精品国产一区二区| 成年人午夜久久久| 精品免费视频| 波多野结衣精品| 黄色av网站免费| 蜜臀久久99精品久久久酒店新书| 精品人妻伦一二三区久久| 国产乱码精品一区二区三区忘忧草| 亚洲综合小说区| 亚洲av成人精品日韩在线播放| 99riav久久精品riav| 日韩一区不卡| 欧美24videosex性欧美| 色偷偷久久人人79超碰人人澡| 亚洲欧美激情网| 日韩精品一区二区三区中文字幕| 国产美女一区二区三区| 人体精品一二三区| 国产精品玖玖玖| 99久久国产免费看| 一区在线电影| 麻豆理论在线观看| 欧美日韩精品欧美日韩精品一| 特黄特色免费视频| 成人免费在线观看av| 久久久女女女女999久久| 欧美另类高清videos的特点| 国产福利精品一区| 亚洲成人a**址| 成人高潮aa毛片免费| 欧美色成人综合| 噜噜噜在线视频| 国产精品毛片久久| 日产精品99久久久久久| 国产aⅴ爽av久久久久成人| 久久久精品中文字幕麻豆发布| 一区二区三区四区免费观看| 素人啪啪色综合| 亚洲精品网站在线播放gif| 亚洲综合网在线| 蜜桃精品在线观看| 免费观看成人在线| 国产探花视频在线观看| 51久久夜色精品国产麻豆| 国产精品无码一区二区三区| 国内综合精品午夜久久资源| 91久久精品一区| 国产人成在线视频| 日韩欧美一区视频| 中文字幕在线播放一区| 一级毛片免费高清中文字幕久久网| 欧美人伦禁忌dvd放荡欲情| 亚洲国产精品黑人久久久| 日韩av不卡一区二区| 中文字幕不卡三区| 一区二区在线不卡| 国产精品av一区二区三区| 精品国产乱码久久久久久久| 精品人妻伦九区久久aaa片| 肉色欧美久久久久久久免费看| 亚洲成人1区2区| 少妇伦子伦精品无吗| 亚洲91视频| 国产欧美日韩亚洲精品| 电影av在线| 在线免费观看不卡av| 一区二区三区免费在线观看视频| 黑人一区二区| 亚洲最大福利视频网站| 成人直播在线| 日韩欧美国产综合在线一区二区三区 | 色撸撸在线视频| 日本亚洲一区二区| 五月天亚洲综合| 免费视频观看成人| 色多多国产成人永久免费网站| 99re热视频| 国产精品久久久久久久岛一牛影视| 91精品无人成人www| 欧美精选一区二区三区| 国产精品视频内| 麻豆网站在线| 日韩欧美综合一区| 国产在线免费视频| 91香蕉视频黄| 国产v亚洲v天堂无码久久久| 国产成人三级| 国产在线高清精品| 黄色小网站在线观看| 日韩一二三区视频| 久草精品视频在线观看| 久久亚洲一区二区三区四区| 一区二区三区国产免费| 91日韩视频| 国产精品国产三级欧美二区| 午夜激情在线播放| 在线观看欧美视频| 一区二区的视频| 亚洲综合色成人| 欧美大片免费播放器| 日韩高清一区二区| 一本—道久久a久久精品蜜桃| 日韩中文字幕一区二区高清99| 海角国产乱辈乱精品视频| 嫩草在线播放| 91精品欧美综合在线观看最新| 国产第一页在线播放| 久久九九99视频| 五月天婷婷在线观看视频| 亚洲精选在线| 亚洲v欧美v另类v综合v日韩v| 美女久久精品| 日本一区二区不卡| av在线免费网址| 精品偷拍各种wc美女嘘嘘| 一区二区精品视频在线观看| 亚洲成人动漫在线观看| 少妇愉情理伦三级| 成人av中文字幕| 无限资源日本好片| 亚洲黄页一区| 99热一区二区三区| 中文字幕精品影院| 1卡2卡3卡精品视频| 亚洲成人看片| 久久久人成影片一区二区三区观看 | 久久久蜜臀国产一区二区| 日本精品一区在线| 久久精品30| 国产一区二区三区播放| 欧美自拍偷拍| 久久爱av电影| 午夜电影一区| 成人h视频在线观看播放| 男女羞羞在线观看| 久久国产精品久久精品| 成年人在线看| 精品爽片免费看久久| 国产香蕉在线观看| 欧美一区二区三区白人| 中文字幕在线观看国产| 色综合久久88色综合天天免费| 久久婷婷国产麻豆91| 亚洲欧美日韩久久精品| 国产探花视频在线播放| 26uuu色噜噜精品一区二区| 国产日韩视频一区| 国产揄拍国内精品对白| 我要看一级黄色大片| 亚洲影音先锋| 国产日韩欧美精品在线观看| 欧美黄色一区| 在线观看污视频| 忘忧草精品久久久久久久高清| 日韩亚洲不卡在线| 国产一区99| 蜜桃av噜噜一区二区三| 另类在线视频| 国产免费一区二区三区| 大桥未久女教师av一区二区| 亚洲综合成人婷婷小说| 国产精品免费精品自在线观看| 国产精品视频播放| 日本午夜精品久久久久| 国产精品一区二区久久久久| 成人国产精品入口免费视频| 国产精品第8页| 欧美成人app| 国产区精品在线观看| 九九久久国产| 91精品视频免费| 一区二区三区无毛| 亚洲aⅴ日韩av电影在线观看 | 男女在线观看视频| 久久久久久这里只有精品| 免费电影网站在线视频观看福利| 欧美精品在线播放| 第一av在线| 69国产精品成人在线播放| 日韩精品av| 国产精品 欧美在线| 日韩午夜电影免费看| 91久久国产精品91久久性色| 日韩精品一区国产| 精品不卡在线| 久久99高清| 亚洲人成人77777线观看| 888久久久| 国产深夜男女无套内射| 日韩精品欧美成人高清一区二区| 免费一级特黄录像| 国产一区二区三区综合| 无码一区二区精品| 国产免费久久精品| 日韩精品一区二区亚洲av性色| 亚洲黄色录像片| 九一国产在线观看| 欧美日韩和欧美的一区二区| 国产成人av免费看| 亚洲精品美女久久久| yjizz视频网站在线播放| 免费91麻豆精品国产自产在线观看| 黑人玩欧美人三根一起进| 日本不卡免费高清视频| 亚洲a成人v| 国产精品推荐精品| 国产aⅴ精品一区二区三区久久| 黄瓜视频免费观看在线观看www| 在线欧美一区| 国产精品久久a| 99久久精品国产精品久久| 成人一级片免费看| 午夜一区二区三区在线观看| 狠狠躁夜夜躁人人爽视频| 日韩免费性生活视频播放| 极品白浆推特女神在线观看 | 精品亚洲夜色av98在线观看 | 日韩一区在线免费观看| 国产奶水涨喷在线播放| 欧美日韩午夜在线| 日本护士...精品国| 欧美大胆在线视频| 桃花岛成人影院| 风间由美久久久| 大胆日韩av| 日韩av三级在线| 国产激情一区二区三区桃花岛亚洲| 中文字幕国产专区| 亚洲一区二区欧美激情| 亚洲一级在线播放| 精品偷拍各种wc美女嘘嘘| 人人超在线公开视频| 国产精品爽黄69| 一区三区在线欧| 欧美久久久久久久久久久久久| 国产麻豆9l精品三级站| 免费a级黄色片| 一区二区三区国产豹纹内裤在线| 亚洲三级一区| 亚洲欧美综合国产精品一区| 国产免费人做人爱午夜视频| 粉嫩高潮美女一区二区三区| 日本黄色录像视频| 91电影在线观看| 亚洲欧美自偷自拍| 欧美激情中文字幕乱码免费| 色婷婷成人网| 五月天丁香综合久久国产| 亚洲欧美日韩精品一区二区 | 精品久久中文| 久久久噜噜噜www成人网| 懂色一区二区三区免费观看| 麻豆网址在线观看| 欧美日韩精品系列| 91精品国产91久久久久游泳池 | 日韩欧美国产另类| 精品视频一区在线视频| 国产精选在线| 久久精品国产精品国产精品污 | 91在线播放国产| 91中文字幕精品永久在线| 蜜臀视频一区二区三区| 久久网站最新地址| 69国产精品视频免费观看| 日韩高清免费观看| 久草在线资源福利站| 精品伊人久久大线蕉色首页| 日韩一区二区免费看| 你懂的在线观看网站| 亚洲成a人片在线不卡一二三区| 精品国产黄色片| 久99久在线视频| www.爱久久| 黄色动漫网站入口| 久久蜜臀精品av| 天天综合网久久综合网| 亚洲免费高清视频| 嫩草伊人久久精品少妇av杨幂| 日本一区二区三区免费观看| 丝袜亚洲另类欧美| 一级黄色录像毛片| 3atv在线一区二区三区| 亚洲羞羞网站| 国产精品一区二区不卡视频| 99精品久久| 精品人伦一区二区三电影 | 亚洲精品久久久久久无码色欲四季| 欧美激情伊人电影 | 不卡的看片网站| 国产精品乱子伦| 中文字幕九色91在线| 中文字幕日本一区| 女人被男人躁得好爽免费视频| 97久久人人超碰| 中文字幕永久在线| 久久亚洲国产精品成人av秋霞| 91精品入口| 少妇性l交大片| 综合久久国产九一剧情麻豆| 蜜臀久久久久久999| 国产va免费精品高清在线观看| 久久视频在线| 催眠调教后宫乱淫校园| 色哟哟亚洲精品| 精品176二区| 久久天天狠狠| 国产尤物一区二区| 日韩毛片一区二区三区| 日韩日本欧美亚洲| 日本一区福利在线| 99日在线视频| 欧美日韩亚洲激情| 欧美a免费在线| 麻豆av一区二区三区久久| 久久99精品久久久久久动态图| 久久精品久久精品久久| 在线午夜精品自拍| 风间由美性色一区二区三区四区| 韩国一区二区av| 亚洲国产婷婷综合在线精品| 番号在线播放| 久久久福利视频|