最近有個需求,就是手機連接PC,在PTP模式下,顯示手機的市場推廣名,而不是顯示手機的專案名。
參考過FAQ但是修改無效,在博客里面也搜到一些好的文章可以修改,但是會引入一些問題,所以在這里請教一下大佬們:
1、修改frameworks/base/media/java/android/mtp/MtpDatabase.java[code= @VisibleForNative
718 private int getDeviceProperty(int property, long[] outIntValue, char[] outStringValue) {
719 switch (property) {
720 case MtpConstants.DEVICE_PROPERTY_SYNCHRONIZATION_PARTNER:
721 case MtpConstants.DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME:
722 // writable string properties kept in shared preferences
723 String value = https://bbs.csdn.net/topics/mDeviceProperties.getString(Integer.toString(property),"");
修改value為自己想要的名稱
724 int length = value.length();
725 if (length > 255) {
726 length = 255;
727 }
728 value.getChars(0, length, outStringValue, 0);
729 outStringValue[length] = 0;][/code]
此方法確實可行,但會引入一些問題:如果將首先將已經修改的手機插上電腦會正常顯示想要的名稱,再把未修改的手機插上也會正常顯示了,這里有個疑問是PC端有快取的功能嗎?
2、當手機連接到PC上,點擊PTP或者MTP模式,電腦螢屏右下角會有一個彈框,并顯示“手機的名稱”,請問這個字串在什么位置修改?
修改alps/kernel/drivers/usb/gadget/Android.c中,PRODUCT_STRING宏的內容為對應名稱:
#define PRODUCT_STRING "MT65xx Android Phone"
但是在Android Q上找不到對應的 #define PRODUCT_STRING 欄位
請問一下,這個彈窗的名稱還能怎么修改呢?
在此,謝謝看到的各位大佬
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/234052.html
標籤:Android
