2013-12-19 4 views
0

부재 중 전화를 읽음으로 표시하려고합니다.Android 통화 로그에서 부재중 전화를 읽음으로 표시

ContentValues values = new ContentValues();  
values.put(Calls.NEW, Integer.valueOf(0));  
if (android.os.Build.VERSION.SDK_INT >= 14){  
    values.put(Calls.IS_READ, Integer.valueOf(1));  
} 

StringBuilder where = new StringBuilder();  
where.append(Calls.NEW); 
where.append(" = 1 AND ");  
where.append(Calls.TYPE);  
where.append(" = ?");  
ContentResolver cr = getContentResolver();  
Uri baseUri = Uri.parse("content://call_log/calls");  
int numUpdated = cr.update(baseUri, values, where.toString(),new String[]{ Integer.toString(Calls.MISSED_TYPE) }); 

이 사실이 감지되지 않았 음을 내 응용 프로그램 그러나 네이티브 안드로이드 앱 읽을 호출을 표시하고 여전히 전화 배지 및 알림을 놓친 쇼 : 나는 그렇게하려면 다음을 시도하고있다. 우리는 이것을 어떻게 제거 할 수 있습니까?

public void markCallLogRead(int id) { 

    Uri CALLLOG_URI = CallLog.Calls.CONTENT_URI; 
    ContentValues values = new ContentValues(); 
    values.put("is_read", true); 
    try{ 
     getContentResolver().update(CALLLOG_URI, values, "_id=?", 
       new String[] { String.valueOf(id) }); 
    }catch(Exception e){ 
     e.printStackTrace(); 
    } 

} 

답변

0

먼저 사용 권한을 추가합니다. Google은 타사 앱에 대한이 기능에 대한 액세스를 차단했습니다.

0

당신은 할 수없는 분명한 누락 된 전화 알림 :이 매개 변수 is_read 우리가 해당 ID에서 얻을 전화를 놓친 변경 기능을 삽입 한 후

<uses-permission android:name="android.permission.READ_CALL_LOG" /> 
<uses-permission android:name="android.permission.WRITE_CALL_LOG" /> 

:

+0

이 답변으로 현재 문제 해결에 OP가 도움이되는 방법에 대한 몇 가지 설명을 추가하십시오. –