2013-05-15 8 views
0

분명 알림 : 읽으면서 나는 모든 부재중 전화 표시이 관리 코드를 사용하여 명확 부재 중 전화 및 안드로이드 줄

ContentValues values = new ContentValues(); 
     values.put(Calls.NEW, 0); 
     if (android.os.Build.VERSION.SDK_INT >= 14) { 
      values.put(Calls.IS_READ, 1); 
     } 
     StringBuilder where = new StringBuilder(); 
     where.append(Calls.NEW); 
     where.append(" = 1 AND "); 
     where.append(Calls.TYPE); 
     where.append(" = ?"); 

     context.getContentResolver().update(Calls.CONTENT_URI, values, where.toString(), 
       new String[]{ Integer.toString(Calls.MISSED_TYPE) }); 

하지만이 안드로이드 알림 표시 줄에 난 여전히 부재 중 전화와 플래그를 가지고 있습니다. 안드로이드에있는 전화의 알림 표시 줄을 어떻게 지울 수 있습니까?

답변

3

어떻게하면 Android의 통화 알림 표시 줄을 지울 수 있습니까?

그렇지 않습니다. 그 Notification 다른 응용 프로그램에 의해 거기에 넣어, 당신은 그 Notification 표시 여부, 다른 응용 프로그램의 동작을 변경하는 ROM 모드를 구축 짧은 제어 방법이 없습니다.

UPDATE :이 응답은 원래 작성된 때문에, NotificationListenerService은 4.3 만 안드로이드에 첨가하고 알림을 지울 수 있습니다.

+0

그래서 내가 알 수있는 방법이 없습니까? 왜냐하면 그것은 실제로보기 흉하게 보입니다. 너는 놓친 전화를 읽고 여전히 안드로이드에 알림을 가지고있다. 이것에 대해 몇 가지 제안을 해줄 수 있습니까? –

+0

@justME : 부재중 전화를 왜 비우는 지 알 수 없습니다. 당신은 문제의 원인입니다. – CommonsWare

+0

@CommonsWare : 당신의 대답은 거만한 것처럼 보입니다. StackOverflow에 대한 귀하의 기여에 축하를 보냈지 만, 이것을 변경하고 싶을 것 같습니다. 그 알림이 표시되는지 여부를 제어하는 ​​끔찍한 방법을 보여 주었지만, 그 사실을 알게되었습니다. 그것이 제가 문제를 일으키지 않는다는 것을 알게 한 것입니다. 12 대의 전용 장치 용 응용 프로그램을 개발 중이었고 각각의 용도에 맞게 사용하고 싶었습니다. ME는 "다른 사람들의 장치를 오용하는 것 같아. 도와 줘."라고 말하지 않았습니다. –

0

사용자가 원하는 것을 얻기 위해 "합법적"이지만 극히 추악하고 일반적으로 쓸모없는 방법은 사용자에게 통화 기록을 표시하는 것입니다. 그리고 나는 문자 적으로 쇼를 의미합니다 (시각적으로 초점을 얻음). 이 혼란 뒤에

public static boolean showCallLog(Context context) 
{ 
    try 
    { 
     Intent showCallLog = new Intent(); 
     showCallLog.setAction(Intent.ACTION_VIEW); 
     showCallLog.setType(android.provider.CallLog.Calls.CONTENT_TYPE); 
     context.startActivity(showCallLog); 
     return true; 
    } 
    catch (Exception e) 
    { 
     Log.d("Couldn't show call log.", e.getMessage()); 
    } 
    return false; 
} 

이유는 통화 기록 및 부재중 전화에 대해 (주 전화 앱) 사용자에게 통지 정식 책임 애플 리케이션 사실 캐시 된 값을 사용은 다음과 같습니다 경우 여기 방법,이 작업을 수행 할 수. 왜? 전반적인 성능 때문입니다. Call Log가 변경되었다는 것을 앱에 알리고 (변경된 의미도 변경됨) 업데이트해야합니다. 모든 기기의 모든 앱이 새로 고침하기 위해 방송을 수신한다면 좋겠지 만, 내가 아는 한 사실이 아닙니다.

주식 전화 앱을 새로 고치는 데 누군가가 (사용자를 방해하지 않고) 더 나은 방법을 찾길 바랍니다.

+0

통화 로그를 표시하면 알림을 지워야한다는 요구 사항이 없습니다. 이것은 일부 장치에서 작동하지만 모든 장치에서 작동하지 않을 수 있습니다. – CommonsWare

+0

@CommonsWare : 아무런 요구 사항은 없지만, 나는 결코 그런 장치를 보지 못했습니다. 그리고 나는 많은 것을 보았다. 이 응용 프로그램에는 통화 기록의 배경 확인에 더 적합한 다른 이벤트가 없다고 가정합니다. 이 솔루션은 공개 앱에서 사용하기에는 너무 끔찍하므로 개발자가 확인할 수있을 것입니다. –