2013-08-03 2 views
1

는 안드로이드 활동에 다음과 같은 쓸모없는 코드를 고려하지 할 수 없습니다ACTION_QUERY_PACKAGE_RESTART가 해결 또는 필드

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    String s1 = Intent.ACTION_PACKAGE_CHANGED; 
    String s2 = Intent.ACTION_QUERY_PACKAGE_RESTART; 
} 

왜 이클립스가 해결 될 수없는 ACTION_QUERY_PACKAGE_RESTART 인상 않거나 필드 오류가되지 않습니다? 내 말은, 두 문자열이 모두 Intent class에 의해 정의되지 않았습니까?

<uses-sdk 
    android:minSdkVersion="14" 
    android:targetSdkVersion="17" /> 

을하지만, 17 모두 이클립스 동작을 변경하지 않는 퍼팅 :

응용 프로그램이 사용하고 있습니다.

+0

'Intent.ACTION_PACKAGE_RESTARTED'입니까? – Nizam

+0

나는 ACTION_QUERY_PACKAGE_RESTART가 안드로이드 문서에 주어지지 않는다는 것을 알 수있다. 여전히 Intent.java의 일부입니다. ACTION_PACKAGE_CHANGED는 문서의 일부입니다 (http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_CHANGED) –

+0

@Nizam 아니요, 작성한대로 ACTION_QUERY_PACKAGE_RESTART입니다. – virtualdj

답변

0

내부적으로 만 사용되기 때문에 SDK에서 숨겨집니다. 그래서 위의 "숨기기 :"라고 말합니다. grepcode의 형식은보기가 어렵습니다.

+0

고마워,하지만 그 오류를 무시하고 어쨌든 (예 : 최종 문자열을 사용하는 소스와 함께 제공되는 것과 약간 다른 클래스를 만들 때) 컴파일하는 것이 가능합니까? – virtualdj

+0

예제에서 의미하는 것이 확실치 않지만 Android SDK에 노출되지 않은 것은 API가 변경 될 가능성이 있거나 (앱을 중단시킬 수 있기 때문) 타사 개발자가 사용하지 않기로 한 것이거나 기능은 시스템 앱으로 제한됩니다. 시스템 관리자는 "시스템 서비스에 문의하십시오."라고 말하면서 시스템 응용 프로그램에서만이 의도를 나타낼 것으로 보입니다. 나는 시스템 서비스가 Context.getSystemService를 통해 얻은 서비스를 의미한다고 가정한다. – Khasm

+0

또한 Android SDK를 사용할 때 해당 코드를 기반으로 구축하지 않으면 비 숨겨진 필드/메소드/클래스 만 포함하는 코드에서 생성 된 스텁에 맞 닿아 있습니다. 그 변수는 앱 컴파일 시간에 전혀 존재하지 않습니다. – Khasm

관련 문제