2013-02-18 18 views
6

Ví dụ: khi bạn nhấp vào nút để tải lên hình ảnh, bạn sẽ nhận được hộp thoại để chọn tệp. Sau đó, bạn có thể chọn một ứng dụng bạn muốn chọn nó. Tôi làm cách nào để ứng dụng của mình xuất hiện trong hộp thoại đó?Cách tạo hoạt động xuất hiện trong hộp thoại "Chọn tệp"?

+0

bạn có thể thêm mã để tạo hộp thoại chọn tệp này không? – Shoshi

+0

@Shoshi Tôi không tạo ra nó. Tôi chỉ cần nhấp vào một nút tải lên trong một trang web. –

+1

Bạn cần khai báo [IntentFilters] thích hợp (https://developer.android.com/reference/android/content/IntentFilter.html) cho Hoạt động của bạn trong tệp kê khai, vui lòng đọc: [Trình chọn tệp Android] (http://stackoverflow.com/q/7856959/1267661) – Sam

Trả lời

1

Thêm các bộ lọc ý sau đây để hoạt động của bạn nơi bạn muốn chọn sẽ diễn ra:

 <intent-filter > 
      <action android:name="android.intent.action.PICK" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:scheme="file" /> 
     </intent-filter> 
     <intent-filter > 
      <action android:name="android.intent.action.GET_CONTENT" /> 

      <category android:name="android.intent.category.OPENABLE" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="*/*" /> 
     </intent-filter> 

Người đầu tiên xử lý một Pick hành động, và điều thứ hai Get nội dung.

Bạn có thể muốn thay đổi mimeType để hạn chế lựa chọn một chút. Người mà tôi đã cung cấp sẽ đưa ứng dụng của bạn vào bộ chọn cho mọi loại tệp.

+0

Tôi nghĩ anh ấy nên hạn chế mimeType một chút. Trong ứng dụng của tôi, khi tôi đăng nhập */*, nó bắt đầu hiển thị ở mọi nơi. – DigCamara

+0

@DigCamara Loại mime hiện tại về cơ bản nói "Ứng dụng của tôi có thể giúp bạn chọn tệp PDF, hình ảnh, video, tệp văn bản hoặc về cơ bản mọi thứ tồn tại". Anh ta có thể thay đổi nó thành bất kỳ loại tệp cụ thể nào mà anh ta muốn nếu anh ấy chỉ hỗ trợ một loại tệp. –

+0

- về cơ bản chúng tôi đang đồng ý. Tôi chỉ nghĩ rằng nó cần phải được viết ra một cách rõ ràng để anh ta không rơi vào cái bẫy đó. – DigCamara

2

Bạn cần thêm bộ lọc Ý định vào tệp kê khai của mình trong hoạt động bạn muốn xử lý việc tải lên. Ví dụ: Tôi có Hoạt động xử lý việc nhập hình ảnh, đây là những gì tôi đã viết.

activity android:name="com.ImportTheme"> 

    <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 
     <data android:host="*" android:scheme="file" android:mimeType="image/*" />    
    </intent-filter> 

</activity> 

Như bạn thấy, bạn cần phải thêm loại mime đó phù hợp với những gì bạn đang tìm kiếm, ở ví dụ của tôi, tôi muốn chỉ ảnh - png, jpg, vv

Kiểm tra trong tiếp theo link, bạn có một danh sách các loại mime.

0

simple and complete example code (less than 50 lines) cho ứng dụng android sẽ hiển thị cho người dùng cùng với danh sách menu các ứng dụng tương thích (polaris, trình duyệt, v.v.) khi mở tệp TXT.

từ chối trách nhiệm: trong trường hợp người sử dụng has not trước đây xác định một ứng dụng mặc định

lưu ý: TXT có thể được thay đổi cho các phần mở rộng khác, luôn luôn chú ý đến kiểu MIME.

Các vấn đề liên quan