欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Android開發(fā)中怎么獲取瀏覽器當前頁面的截圖

這期內(nèi)容當中小編將會給大家?guī)碛嘘PAndroid開發(fā)中怎么獲取瀏覽器當前頁面的截圖,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司是專業(yè)的河南網(wǎng)站建設公司,河南接單;提供成都網(wǎng)站制作、成都網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行河南網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

首先,新建一個 BrowserScreenShotActivity.java,在 AndroidManifest.xml 注冊一下 <intent-filter>。

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.littlejie.demo">

  <!-- 讀寫權限 -->
  <!-- 用于讀取瀏覽器分享時生成的屏幕截圖 -->
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

  <application
    android:name=".modules.DemoApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    
    <!-- some other thing -->

    <!-- 注冊 Intent,用于接受瀏覽器分享 -->
    <activity
      android:name=".modules.advance.BrowserScreenShotActivity"
      android:launchMode="singleTask">
      <intent-filter>
        <action android:name="android.intent.action.SEND"/>
        <!-- 發(fā)送多個數(shù)據(jù) -->
        <action android:name="android.intent.action.SEND_MULTIPLE"/>

        <category android:name="android.intent.category.DEFAULT"/>

        <data android:mimeType="*/*"/>
      </intent-filter>
    </activity>

  </application>

</manifest>

接下去,在瀏覽器中隨便打開一個頁面,分享至 Demo,這里有個問題,就是:屏幕截圖數(shù)據(jù)在 Intent 中對應的 Key 我們并不知道,那怎么辦呢?打斷點啊!

Android開發(fā)中怎么獲取瀏覽器當前頁面的截圖 

通過斷點查看 Intent 的數(shù)據(jù)結(jié)構,發(fā)現(xiàn) Intent 中的 mMap 成員變量含有一個 Uri,格式如下:content://com.android.chrome.FileProvider/BlockedFile_33215122012582,一眼看去就猜測這個 Uri 是 Chrome 通過 ContentProvider 供其他程序調(diào)用的,雖然與一開始猜測有已 .jpg 和 .png 結(jié)尾的數(shù)據(jù)不太一致,但好歹是有所發(fā)現(xiàn)。

恩,現(xiàn)在還有一個問題,那就是 mMap.value[3] 對應的 key 值是多少?在上述斷點界面根本就差看不到,但是 Android Studio 是很強大的,只是你沒發(fā)現(xiàn)而已,既然 mMap 是一個 Map,那么久能通過 keySet() 方法獲取 Map 的 key。接下來就是 Android Studio 大展拳腳的時間。

Android開發(fā)中怎么獲取瀏覽器當前頁面的截圖 

如上圖所示的,在 Debug 界面,點擊最后一個圖標:Evaluate Expression(快捷鍵:option + f8)。在彈出的對話框中輸入如下內(nèi)容,回車,你會發(fā)現(xiàn) Map 的 key 都出來了:

Android開發(fā)中怎么獲取瀏覽器當前頁面的截圖 

通過與第一幅圖對比,發(fā)現(xiàn)下標為3的值(share_screenshot_as_stream)為我們需要的 key。

布局比較簡單,這里就不貼了,簡單截取 BrowserSrceenShotActivity.java 中的代碼:

@Override
protected void onResume() {
  super.onResume();
  if (getIntent() == null) {
    return;
  }
  
  Uri screenShot = getIntent().getExtras().getParcelable("screen_shot_as_stream");

  if (screenShot == null) {
    ToastUtil.showDefaultToast("獲取瀏覽器截屏失敗~");
    return;
  }
  try {
    //授權Uri的讀取權限
    //若不授權,在 Android 6.0 以上測試崩潰
    //https://thinkandroid.wordpress.com/2012/08/07/granting-content-provider-uri-permissions/
    //第一個參數(shù)為需要授權的apk包名
    grantUriPermission("com.littlejie.demo", screenShot, Intent.FLAG_GRANT_READ_URI_PERMISSION);
    //通過 Uri 獲取截屏圖片的輸入流
    InputStream is = getContentResolver().openInputStream(screenShot);
    mIvScreenShot.setImageBitmap(BitmapFactory.decodeStream(is));
  } catch (FileNotFoundException e) {
    e.printStackTrace();
  }
}

運行結(jié)果如下:

Android開發(fā)中怎么獲取瀏覽器當前頁面的截圖 

對于獲取 Chrome 瀏覽器分享頁面的截屏就告一段落,閑著沒事,自己又測試了幾個瀏覽器,包括系統(tǒng)內(nèi)置瀏覽器、QQ瀏覽器、UC瀏覽器、百度瀏覽器、火狐瀏覽器,發(fā)現(xiàn)每個瀏覽器的差異很大。

  • 系統(tǒng)瀏覽器、UC瀏覽器與 Chrome 相差不大,只是 key 變成了 share_full_screen 和 file
  • QQ瀏覽器的分享行為與分享文件很相似,其 key 為 android.intent.extra.STREAM(Intent.EXTRA_STREAM)。
  • 百度瀏覽器是個什么鬼就不知道了,默默的把應用圖標給分享過來了
  • 火狐瀏覽器不支持分享頁面截圖

上述就是小編為大家分享的Android開發(fā)中怎么獲取瀏覽器當前頁面的截圖了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標題:Android開發(fā)中怎么獲取瀏覽器當前頁面的截圖
分享鏈接:http://aaarwkj.com/article8/pccgip.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、電子商務網(wǎng)站設計、建站公司、定制網(wǎng)站、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
国产69精品久久一级| 一区二区三区深夜福利| 午夜看片福利欧美熟女| 玩弄丰满熟妇留守妇女| 欧美日韩亚洲国产三级| 亚洲av成人精品网站推荐| 欧美黄片一区二区三区三| 高清免费在线自偷自拍| 久久亚洲国产成人精品性色| 日韩欧美亚洲国产另类| 六月综合激情丁香婷婷色| 日本一级a级黄免视频| 九九热这里只有免费精品| 久久熟女av一区二区三区| 国产精品极品网站91青青| 久久九九亚洲欧美中文字幕| 中文在线中文天堂黄色片| 亚洲男人天堂最新地址| 欧美亚洲另类在线日韩国产| 黄片在线免费在线播放| 一本久道久久综合久久鬼色| 2022国产精品一区| 一区二区三区高清人妻| 国产精品xxxx国产精品| 91黄色国产在线播放| 韩国三级福利在线观看| 日本一区二区欧美在线| 日韩精品人妻一区二区网站| 国产亚洲欧美日韩激情在线| 亚洲精品伦理视频在线| 一区二区三区蜜桃av| 在线免费观看日韩黄片| 真做的欧美三级在线观看| 国产精品一区日韩专区| 日本加勒比不卡在线视频| 天美传媒剧国产在线观看| 加藤桃香中文字幕在线| 欧美日韩黄色的三级视频| 亚洲一二三无人区是什么| 亚洲av乱码一区二区三四五六七| 亚洲欧美一级二级三级|