2011-09-29 1 views

Trả lời

12

Bạn có thể tạo Activity với chủ đề Theme.Dialog. Trong tập tin AndroidManifest.xml bạn thêm chủ đề để hoạt động, như thế này:

<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"></activity> 

Từ dịch vụ của bạn chỉ đơn giản là bắt đầu Activity này. Bạn sẽ phải bắt đầu hoạt động với cờ Intent.FLAG_ACTIVITY_NEW_TASK. Xem How to start an Activity from a Service

+0

@Dallas Điểm tốt. –

+0

Aki, Dallas: Tôi đã sử dụng Theme.Dialog này và hoạt động thành công. Cảm ơn cho điều đó nhưng tôi có một câu hỏi phải làm gì để loại bỏ hộp thoại này trên nút bấm ??? –

+0

Kết thúc cuộc gọi() trong onclicklistner của nút –

2

Bạn không thể tạo thoại từ dịch vụ nhưng chúng tôi có một giải pháp thay thế là Bạn có thể tạo dialog activity và bắt đầu hoạt động từ dịch vụ của bạn

Bạn có thể đặt Theme hoạt động như hộp thoại bằng cách dưới đây cách

<activity android:name=".MyDialogActivity" android:theme="@android:style/Theme.Dialog" 
     android:label="@string/app_name"> 
</activity> 
4

Có ai cần lựa chọn, "android: launchMode =" singleInstance", khi hoạt động pop trong máy thu phát sóng hoặc dịch vụ ?? Nếu không có tùy chọn này, ứng dụng của tôi bắt đầu tự động và pop MyDialogActivity trên i t. Và sau đó, đã xảy ra sự cố. (Ứng dụng của tôi có Hoạt động chính với chức năng tự động đăng nhập. Khi Hoạt động mới khác bắt đầu tự động, MyDialogActivity được ẩn bởi nó.)

Vì vậy, đây là mã mẫu xml của tôi.

<activity 
     android:name=".MyDialogActivity" 
     android:launchMode="singleInstance" 
     android:screenOrientation="portrait" 
     android:theme="@android:style/Theme.Dialog" /> 
    <activity 

Tôi hy vọng ai đó cần nhận xét của tôi. :)

+1

đã gặp trở ngại trên internet trong nhiều giờ, cài đặt launchMode giúp, thx. –