導航:首頁 > 操作系統 > android獲取metadata

android獲取metadata

發布時間:2022-09-13 23:44:26

① 怎麼讀取android studio中的渠道

可以參考如下內容:
/**
* 獲取渠道名
* @param ctx 此處習慣性的設置為activity,實際上context就可以
* @return 如果沒有獲取成功,那麼返回值為空
*/
public static String getChannelName(Activity ctx) {
if (ctx == null) {
return null;
}
String channelName = null;
try {
PackageManager packageManager = ctx.getPackageManager();
if (packageManager != null) {
//注意此處為ApplicationInfo 而不是 ActivityInfo,因為友盟設置的meta-data是在application標簽中,而不是某activity標簽中,所以用ApplicationInfo
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(ctx.getPackageName(), PackageManager.GET_META_DATA);
if (applicationInfo != null) {
if (applicationInfo.metaData != null) {
channelName = applicationInfo.metaData.getString("");
}
}

}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return channelName;
}

提取為通用方法:
/**
* 獲取application中指定的meta-data
* @return 如果沒有獲取成功(沒有對應值,或者異常),則返回值為空
*/
public static String getAppMetaData(Context ctx, String key) {
if (ctx == null || TextUtils.isEmpty(key)) {
return null;
}
String resultData = null;
try {
PackageManager packageManager = ctx.getPackageManager();
if (packageManager != null) {
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(ctx.getPackageName(), PackageManager.GET_META_DATA);
if (applicationInfo != null) {
if (applicationInfo.metaData != null) {
resultData = applicationInfo.metaData.getString(key);
}
}

}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}

return resultData;
}

② android開發里的faq是什麼意思

  1. 獲取手機當前的橫豎屏模式。


使用這個屬性,啟動系統的屏幕兼容程序,對app的UI在大屏幕或小屏幕上進行屏幕兼容處理。

通常對不同尺寸的屏幕我們要做不同像素的資源來進行UI布局處理,有時候這樣處理也不能達到很好的效果。此時,我們就可以用此選項來控制,在大屏幕上,是否使用系統的兼容模式來放大UI來填充屏幕,或者在小屏幕上進行縮放填充屏幕。

③ android開發中怎麼獲取manifest.xml文件中的信息

1. 用Java包給應用程序命名。這個包名是應用程序的唯一標識;
2. 描述應用程序的組件---組成應用程序的Activity、Service、Broadcast Receiver以及Content Provider。它要用每個組件的實現類來命名,並向外發布對應組件功能(例如,組件所能處理的Intent消息)。這些聲明會讓Android系統了解應用程序中組件,以及這些組件被載入的條件。
3. 判斷哪些進程是主應用程序組件。
4. 聲明應用程序所必須的許可權,以便能夠訪問被保護的API,以及能夠跟其他應用程序進行交互。
5. 為了跟應用程序組件進行交互,還聲明了其他要求有的許可權。
6. 列出了能夠提供應用程序運行時的分析和其他信息的Instrumentation類。只有在開發和測試應用程序時才在清單文件中聲明這些類,在應用程序被發布之前,要刪除這些類。
7. 聲明應用程序所要求的最小的Android API級別。
8. 列出應用程序必須鏈接的外部庫。

④ Android使用MediaMetadataRetriever類獲取視頻幀時一直無法正確讀取路徑文件,iamge顯示位null

從API 8開始,新增了一個類:
android.media.ThumbnailUtils這個類提供了3個靜態方法一個用來獲取第一幀得到的Bitmap,2個對圖片進行縮略處理。
public static Bitmap createVideoThumbnail (String filePath, int kind)

第一個參數是文件的路徑,第二個參數是指定圖片的大小,有兩種選擇Thumbnails.MINI_KIND與Thumbnails.MICRO_KIND。
第一種文檔上說大小是512 x 384 ,我用一個MP4格式文件測試得到544 x 960,用一個wmv格式文件測試得到160 x 120。明顯不靠譜。第二種參數兩種格式文件得到的大小都是 96 x 96,這個才是縮略圖。extractThumbnail(Bitmap source, int width, int height, int options)
extractThumbnail(Bitmap source, int width, int height)

這兩種方法都是用來處理Bitmap的大小的,第一個參數是要處理的Bitmap,第二個參數是處理後寬度,第三個是高度,第四個參數options,如果options定義為OPTIONS_RECYCLE_INPUT,則回收資源。也就是說可以用第三種方法把截取到的第一幀的Bitmap轉成任意想要的大小,第三個方法還可以獲取內存卡內圖片的縮略圖。
Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(path1, Thumbnails.MINI_KIND);
bitmap = ThumbnailUtils.extractThumbnail(bitmap, 210, 210);

從API 10開始新增一類MediaMetadataRetriever可以用來獲取媒體文件的信息
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(/sdcard/33.mp4);
Bitmap bitmap = mmr.getFrameAtTime();
image.setImageBitmap(bitmap);
System.out.println(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DATE)+);
System.out.println(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE)+);
mmr.release();

MediaMetadataRetriever可以獲取任何一幀的縮略圖。

public static Bitmap createVideoThumbnail(String filePath) {
// MediaMetadataRetriever is available on API Level 8
// but is hidden until API Level 10
Class clazz = null;
Object instance = null;
try {
clazz = Class.forName(android.media.MediaMetadataRetriever);
instance = clazz.newInstance();

Method method = clazz.getMethod(setDataSource, String.class);
method.invoke(instance, filePath);

// The method name changes between API Level 9 and 10.
if (Build.VERSION.SDK_INT <= 9) {
return (Bitmap) clazz.getMethod(captureFrame).invoke(instance);
} else {
byte[] data = (byte[]) clazz.getMethod(getEmbeddedPicture).invoke(instance);
if (data != null) {
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
if (bitmap != null) return bitmap;
}
return (Bitmap) clazz.getMethod(getFrameAtTime).invoke(instance);
}
} catch (IllegalArgumentException ex) {
// Assume this is a corrupt video file
} catch (RuntimeException ex) {
// Assume this is a corrupt video file.
} catch (InstantiationException e) {
Log.e(TAG, createVideoThumbnail, e);
} catch (InvocationTargetException e) {
Log.e(TAG, createVideoThumbnail, e);
} catch (ClassNotFoundException e) {
Log.e(TAG, createVideoThumbnail, e);
} catch (NoSuchMethodException e) {
Log.e(TAG, createVideoThumbnail, e);
} catch (IllegalAccessException e) {
Log.e(TAG, createVideoThumbnail, e);
} finally {
try {
if (instance != null) {
clazz.getMethod(release).invoke(instance);
}
} catch (Exception ignored) {
}
}
return null;
}

⑤ android apk怎麼通過metadata拿數據

apk是安裝程序 一般你先你要先安裝apk後綴的游戲 那些gameloft的游戲一般打開後要下載一些數據的 就是通過wifi 估計是種保護手段吧 下載的數據大的得500多M 而且下載的很慢 經常不成功 所以就有一些成功的人把他們下載的數據包拿出來分享 這樣我們安裝玩游戲後 把相應的數據吧復制過去 這樣就省了 下載數據包的過程了

⑥ 【Android音視頻】MediaMetadataRetriever使用

MediaMetadataRetriever是Android原生提供的獲取音視頻文件信息的一個類,我們可以通過這個類的相關方法獲取一些基本信息,如視頻時長、寬高、幀率、方向、某一幀的圖片等。

我們可以通過MediaMetadataRetriever的extractMetadata(int keyCode)的方法獲取一些視頻的基本信息,以下列出一些常用的:

可以通過getFrameAtTime(long timeUs)獲取某一時刻附近的幀圖片;API>=28,可以准確獲取幀圖片,相關方法getFrameAtIndex(...);獲取幀圖可以應用在 視頻封面圖 視頻裁剪的縮略圖 等。

MediaMetadataRetriever還是比較常用的,以上只是簡略的列出了MediaMetadataRetriever的一些用法,具體可自行查閱源文件。

⑦ Android 怎麼獲取 umeng 的 渠道信息

Andriod版本APP獲取umeng的渠道信息,可以讓技術人員在程序中嵌入渠道編碼,具體步驟如下:

  1. 進入友盟網站,注冊帳號,綁定友盟應用統計;

  2. 下載友盟SDK文件,由技術開發人員嵌入到APP程序代碼中,具體操作方法可以參考友盟網站的嵌入指南;

  3. 根據安卓版本不同的發布渠道,定義好channel ID;

  4. 修改代碼中與channel相關的代碼,比如將<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>中的Channel ID替換為您應用的推廣渠道名稱,channel id自定義。

  5. 對應每個渠道生成一一對應的APK安裝包;

  6. 將標記好Channel ID的渠道安裝包,在對應的渠道發布;

  7. 定時登錄友盟後台查看渠道數據。

⑧ Android中怎麼逐幀讀取視頻文件

MediaMetadataRetriever media = new MediaMetadataRetriever();
media.setDataSource(」視頻的絕對地址「);
Bitmap bitmap = media.getFrameAtTime();
image = (ImageView)this.findViewById(R.id.imageView1);
image.setImageBitmap(bitmap);

這個是獲取第一禎的代碼,可以參考下

閱讀全文

與android獲取metadata相關的資料

熱點內容
佛山加密文檔軟體 瀏覽:811
港式5張梭哈源碼 瀏覽:239
數據中心pdf 瀏覽:524
crf源碼解析 瀏覽:853
伺服器軟體開發是什麼意思 瀏覽:941
刪除彩信android 瀏覽:862
元宵節猜燈謎h5源碼 瀏覽:69
樂培生app怎麼綁定 瀏覽:762
視頻壓縮不清楚怎麼說 瀏覽:525
加好友伺服器繁忙是怎麼回事 瀏覽:381
怎麼解綁app的支付寶賬號 瀏覽:911
ip地址伺服器不可用怎麼解決方法 瀏覽:183
為什麼軟體需要伺服器 瀏覽:63
redis操作命令大全 瀏覽:597
python字元串重復索引 瀏覽:961
為什麼香信新版本連接不上伺服器 瀏覽:50
元旦程序員打羽毛球 瀏覽:614
otc焊接機器人離線編程教學 瀏覽:412
51單片機的ea引腳有何用途 瀏覽:207
centos查看用戶命令 瀏覽:840