2012-07-30 13 views
5

Tôi đang sử dụng Eclipse và Android SDK (với Plugin ADT), tôi không biết đó là một số vấn đề về cấu hình hay là một số vấn đề về mã. Bất cứ khi nào tôi tải một ứng dụng mà tôi đã tạo từ đầu (điều này có nghĩa là không sử dụng một mã hiện có hoặc một mẫu từ thư viện) vào thiết bị của tôi hoặc chạy nó trên trình mô phỏng, toàn bộ ứng dụng sẽ tải dưới dạng ứng dụng "riêng biệt". . Ví dụ: nếu ứng dụng được đặt tên là "Xin chào thế giới" và có hai hoạt động, "MainActivity" và "SecondaryActivity", cả hai sẽ hiển thị trên thiết bị với tên của họ dưới dạng tên ứng dụng và chia sẻ biểu tượng ứng dụng trên menu. Bây giờ, nếu tôi đi đến cài đặt, "Hello World" xuất hiện như một ứng dụng, bây giờ hành xử một lần nữa như nó nên. Điều này không ảnh hưởng đến hoạt động của ứng dụng, tuy nhiên, nó gây phiền nhiễu khi có nhiều hơn 1 biểu tượng khởi chạy cùng một ứng dụng. Vấn đề là, khi tôi lần đầu tiên sử dụng nhật thực, điều này đã không xảy ra. Trong trường hợp nó giúp, tôi đã cài đặt lại toàn bộ SDK Android và plugin ADT, tôi đã thử sử dụng 3 phiên bản Eclipse khác nhau (các nhà phát triển cổ điển, EE và Java), không ai trong số họ có vẻ để làm việc, mặc dù, trong Bố cục đồ họa cho bất kỳ hoạt động nào, tên của ứng dụng được hiển thị trong thanh có biểu tượng của ứng dụng nhưng chạy trên trình mô phỏng hoặc thiết bị thực, nó hiển thị tên của hoạt động ở đó. Tôi đã nhìn khắp mọi nơi và tôi đã không giải quyết được vấn đề. Cảm ơn!Eclipse tải các hoạt động riêng biệt thay vì ứng dụng

+0

Các hoạt động được liệt kê trong AndoidManifest.xml của bạn như thế nào? – kostja

+0

@kostja vấn đề xuất hiện ngay cả khi chỉ có một hoạt động (tên của hoạt động xuất hiện bên dưới biểu tượng trên menu, không phải trên "quản lý ứng dụng"). Chúng được liệt kê dưới dạng: < ứng dụng />. – MalancheK

+0

Hmm, nếu bạn có một hoạt động đơn lẻ trong tệp kê khai nhưng nhiều hoạt động được triển khai, thì Im không biết gì. Sry – kostja

Trả lời

7

Kiểm tra của bạn manifest để xem nếu có nhiều hơn một hoạt động có này:

<category android:name="android.intent.category.LAUNCHER" /> 
+1

Oh! Có, tất cả các hoạt động có danh mục được đặt làm Trình khởi chạy, đó là lý do tại sao chúng xuất hiện trên menu? những gì nó nên nói thay vì cho một hoạt động đó không có nghĩa là được phóng? hay nó có tác động đến mục đích của hoạt động? Giải quyết! cảm ơn rất nhiều! – MalancheK

+1

Phần "intent-filter" xác định cách hoạt động của bạn có thể được khởi chạy, cho dù bởi một dịch vụ đang chạy trong nền hoặc trình chạy hoặc thậm chí một Ứng dụng khác. Tôi khuyên bạn nên đọc thêm về điều này tại đây: http://developer.android.com/guide/components/intents-filters.html – Turnsole

+0

Đã sắp đặt câu hỏi nhưng bạn đã lưu ngày đó. Đã bỏ phiếu! – Si8

4

Câu trả lời tôi tìm thấy cho vấn đề trên là, thay thế category.LAUNCHER để category.EMBED trong tất cả các hoạt động ngoài MainActivity trong tệp kê khai của bạn.