2014-02-10 6 views
5

의도 필터를 읽을 의도가 &입니다. 활동에의도 필터를 이해할 수 없습니다

: 매니페스트에

Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://www.example.com")); 
startActivity(i); 

:

<activity android:name="com.example.intentdemo.CustomActivity" 
     android:label="@string/app_name">    
    <intent-filter>    
    <action android:name="android.intent.action.VIEW" /> 
    <action android:name="com.example.intentdemo.LAUNCH" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:scheme="http" />    
    </intent-filter>   
</activity> 

내 질문 드리려고 내가하지 android.Intent를 선언하기로 오전 나는 아래의 코드를 얻었다. ACTION_VIEW 대신에 android.content.Intent.ACTION_VIEW?

+0

HTTP 질문에 대한 답변을 작성한 이유는 무엇입니까? – user3301551

답변

1

android.content.Intent.ACTION_VIEWandroid.content.Intent 클래스의 상수 ACTION_VIEW의 이름입니다. 이 상수의 값은 "android.intent.action.VIEW"입니다. 따라서 차이. 당신이 Intent 클래스의 소스 코드를 볼 경우

+0

그리고 우리는 Android 시스템의 첫 번째 인 텐트 클래스를 그렇게 혼란스럽게 만드는 것이 다소 혼란 스럽다는 것을 추가 할 수 있습니다. – Snicolas

0

, ACTION_VIEW는 값이 "android.intent.action.VIEW"String 일정 ...

public static final String ACTION_VIEW = "android.intent.action.VIEW"; 

그래서 모두가 "android.intent.action.VIEW"입니다 같은 값을 말한다는 ...입니다

0

android.intent.action.VIEWandroid.Intent.ACTION_VIEW에 혼란스러워하고 있습니다. 그들은 둘 다 완전히 다릅니다. 사용중인

방법은 이러한 의도는 목표와 비어있는 구성 요소 이름에 대한 필드 이름을 지정하지

암시 적 의도를합니다. 암시 적 인 텐트는 종종 다른 응용 프로그램의 구성 요소를 활성화하는 데 사용됩니다.

Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://www.example.com")); 
startActivity(i); 

ACTION

Intent 객체와 작업 이름을 지정하는 문자열을 수행 할 것입니다 - 또는, 브로드 캐스트 인 텐트, 일어났다 작업의 경우와보고되고있다. 액션은 주로 의도 객체의 나머지 부분이 어떻게 구성되어 있는지를 결정합니다. Intent 클래스는 다른 인 텐트에 해당하는 많은 액션 상수를 정의합니다. Android Intent Standard Actions

인 텐트 개체의 동작은 setAction() 메서드로 설정하고 getAction()으로 읽을 수 있습니다.

Check More for Intent and Intent-Filter

관련 문제