2012-06-21 5 views
0

나는 txt 파일을 여는 활동이 있습니다. 사용자가 txt 파일을 열 때마다 내 앱에서 txt 파일을 열 수 있습니다. 내 질문은, 내 활동에 열 파일의 경로를 어떻게 전달합니까? 그리고 프로그래밍 방식으로 경로를 수신하려면 어떻게해야합니까? 간단히 말해, 내 앱이 해당 파일을 클릭 할 때 txt 파일을 열 수 있도록 매니페스트 파일에 인 텐트 필터를 설정하는 것 외에해야 할 일은 무엇입니까?수신 의도

+0

질문에 대한 대답은 "txt 파일을 클릭하십시오"라는 의미에 따라 다릅니다. 파일을 표시하기 위해 어떤 인터페이스를 사용하고 있습니까? 어떤 파일을 클릭했는지 어떻게 알 수 있습니까? – matt5784

+0

스크롤보기 내에서 텍스트보기가 감겨져있는 파일을 표시하고 파일 관리자를 통해 파일을 클릭합니다. –

답변

0

브로드 캐스트 수신기를 사용해야하지만 사용하려는 필터가 무엇인지 확실하지 않습니다.

어쩌면 매니페스트에 이런 식으로 뭔가를 추가하려고 뭔가 :

<receiver android:name="MyBroadcastReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.ACTION_VIEW" /> 
    <action android:name="android.intent.action.ACTION_EDIT" /> 
    <action android:name="android.intent.action.ACTION_PICK" /> 
    </intent-filter> 
</receiver> 

그런 다음이처럼 MyBroadcastReceiver 클래스를 만들어야합니다

public final class MyBroadcastReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
    // Your receiver code here... 
    } 
} 

을 그리고 다음 onReceive 방법으로 확인 파일을 열려고 할 때 인 텐트에 수신 된 데이터. 그렇게하면 어떤 데이터가 의도에 도착하는지 알 수 있습니다.

희망이 있습니다.

+0

고마워! 나는 그렇게 생각한다. –

+0

MyBroadcastReceiver 등록과 관련하여 질문이 있습니다. 새로운 IntentFilter를 인스턴스화하여 registerReceiver() 메소드를 구현합니까? 또는 매니페스트 파일에서 인 텐트 필터를 가져 오는 방법이 있습니까? –

+0

위에서 설명한대로 매니페스트 파일에 인 텐트 필터를 직접 구성 할 수 있습니다. – Ernesto

0

클래스 파일 (http://developer.android.com/reference/java/io/File.html) 또는 FileInputStream (http://developer.android.com/reference/java/io/FileInputStream.html) 클래스를 사용하여 파일 경로를 저장하고 입력을 처리 할 수 ​​있습니다. 인 텐트를 전달하는 경우 putExtra() 메서드를 사용하여 파일 이름이 포함 된 문자열을 의도에 추가하고 다른 쪽에서 검색하려고합니다.

+0

나는 의도를 전달하지 않을 것입니다. 내가 열어 볼 파일을 클릭하면 intenet 안드로이드 시스템 자체를 전달했다. 방송 수신기 나 다른 장치를 사용해야합니까? –