Androidはカスタムベルを削除すると、着信音が数字で表示されます.
[DESCRIPTION]
1.設定--音声--携帯電話の着メロ--着メロを追加--カスタム着メロ--音楽ファイルを着メロ2として選択する.設定--サウンド--携帯電話の着信音--追加着信音--カスタム着信音--Filesオーディオに入る--Ringtonesリストを表示し、さっき設定した着信音を削除
またはFile Management--Internal shared storage--Ringtonesにアクセスし、先ほど設定したベルを削除します.
[SOLUTION]
以前の現象の原因はベルが存在しないことであり,apkのリソースがロードされている.以下の修正は将来電気的に無音に変更することができ、貴社もあるベルを再設定し、ある固定的なベルに変更することができます.
RingtoneManager.java
/vendor/mediatek/proprietary/packages/services/Telecomm/src/com/android/server/telecom/RingtoneFactory.java
1.設定--音声--携帯電話の着メロ--着メロを追加--カスタム着メロ--音楽ファイルを着メロ2として選択する.設定--サウンド--携帯電話の着信音--追加着信音--カスタム着信音--Filesオーディオに入る--Ringtonesリストを表示し、さっき設定した着信音を削除
またはFile Management--Internal shared storage--Ringtonesにアクセスし、先ほど設定したベルを削除します.
[SOLUTION]
以前の現象の原因はベルが存在しないことであり,apkのリソースがロードされている.以下の修正は将来電気的に無音に変更することができ、貴社もあるベルを再設定し、ある固定的なベルに変更することができます.
RingtoneManager.java
//add begin
public static boolean isRingtoneExist(Context context, Uri uri) {
if (uri == null) {
Log.e(TAG, "Check ringtone exist with null uri!");
return false;
}
boolean exist = false;
try {
AssetFileDescriptor fd = context.getContentResolver().openAssetFileDescriptor(uri, "r");
if (fd == null) {
exist = false;
} else {
fd.close();
exist = true;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
exist = false;
} catch (IOException e) {
e.printStackTrace();
exist = true;
}
Log.d(TAG, uri + " is exist " + exist);
return exist;
}
}
//add end
/vendor/mediatek/proprietary/packages/services/Telecomm/src/com/android/server/telecom/RingtoneFactory.java
55 public Ringtone getRingtone(Call incomingCall) {
56 // Use the default ringtone of the work profile if the contact is a work profile contact.
57 Context userContext = isWorkContact(incomingCall) ?
58 getWorkProfileContextForUser(mCallsManager.getCurrentUserHandle()) :
59 getContextForUserHandle(mCallsManager.getCurrentUserHandle());
60 Uri ringtoneUri = incomingCall.getRingtone();
61 Ringtone ringtone = null;
62
63 if(ringtoneUri != null && userContext != null) {
64 // Ringtone URI is explicitly specified. First, try to create a Ringtone with that.
65 ringtone = RingtoneManager.getRingtone(userContext, ringtoneUri);
66 }
67 if(ringtone == null) {
68 // Contact didn't specify ringtone or custom Ringtone creation failed. Get default
69 // ringtone for user or profile.
70 Context contextToUse = hasDefaultRingtoneForUser(userContext) ? userContext : mContext;
71 Uri defaultRingtoneUri;
72 if (UserManager.get(contextToUse).isUserUnlocked(contextToUse.getUserId())) {
73 defaultRingtoneUri = RingtoneManager.getActualDefaultRingtoneUri(contextToUse,
74 RingtoneManager.TYPE_RINGTONE);
75 } else {
76 defaultRingtoneUri = Settings.System.DEFAULT_RINGTONE_URI;
77 }
//add begin
if(!RingtoneManager.isRingtoneExist(contextToUse,defaultRingtoneUri)){
RingtoneManager.setActualDefaultRingtoneUri(context,AudioManager.STREAM_RING,null);//
defaultRingtoneUri=null;
}
//add end
78 if (defaultRingtoneUri == null) {
79 return null;
80 }
81 ringtone = RingtoneManager.getRingtone(contextToUse, defaultRingtoneUri);
82 }
83 if (ringtone != null) {
84 ringtone.setStreamType(AudioManager.STREAM_RING);
85 }