2011-07-11 14 views
10

chúng tôi biết rằng có những lá cờ mà chúng tôi có thể thêm vào ý định của mình bằng cách sử dụng phương thức addFlags() trong mã java của chúng tôi. Có cách nào chúng ta có thể thêm những lá cờ này trong tệp kê khai thay vì viết nó trong mã java hay không. Tôi cần thêm cờ REORDER_TO_FRONT cho một trong các hoạt động của tôi trong tệp kê khai.Cách thêm cờ với ý định của tôi trong tệp kê khai

Làm cách nào để đạt được điều này?

Trả lời

6

Trong tệp kê khai, bạn không thể thêm cờ Intent.You cần đặt cờ trong Intent mà u chuyển tới startActivity. Dưới đây là một ví dụ:

Intent intent = new Intent(this, ActivityNameToLaunch.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
startActivity(intent); 
+7

Hi Richie, yeah Tôi biết điều này, nhưng vấn đề là tôi không khởi động rõ ràng hoạt động này từ hoạt động khác. Trong trường hợp của tôi, Activity sẽ được khởi chạy là chính/launcher và nó được thiết kế để bắt đầu khi người dùng đóng các hoạt động khác bằng cách nhấn nút quay lại và cuối cùng đến màn hình này (cũng là màn hình bắt đầu) – Ankit

3

Để trả lời câu hỏi ban đầu, vì đây dường như là câu trả lời đầu tiên trong việc tìm kiếm google, nó có thể được thực hiện, kể từ mức API 3 (giới thiệu vào năm 2009) với việc thêm android:noHistory="true" để hoạt động định nghĩa trong tệp kê khai như được mô tả ở đây: http://developer.android.com/guide/topics/manifest/activity-element.html#nohist.

dụ:

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:noHistory="true"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN"/> 
     <category android:name="android.intent.cataegory.LAUNCHER"/> 
    </intent-filter> 
</activity> 
2

Tôi đã có một vấn đề tương tự và muốn thiết lập các cờ

Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK 

nhằm đem lại hoạt động này luôn hàng đầu.

Trong kịch bản này, giải pháp là để thiết lập các thuộc tính

android:launchMode="singleInstance" 

trong biểu hiện.

Nói chung, có nhiều thuộc tính trong tệp kê khai Android cho một hoạt động và bạn có thể chơi xung quanh các tính năng này để nhận các hiệu ứng tương tự như với cờ.

+0

Gợi ý tuyệt vời, cảm ơn bạn! Thay vì chỉ "chơi xung quanh", người ta cũng có thể muốn kiểm tra tài liệu của phần tử : https://developer.android.com/guide/topics/manifest/activity-element.html – Robin

0

Bạn có thể dễ dàng đạt được điều này bằng cách sử dụng android:launchMode="singleTop" trong <activity> nút của biểu hiện, như thế này: Tùy chọn

<activity 
    android:name=".ui.activities.MainActivity" 
    android:launchMode="singleTop"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
</activity> 

Lưu ý, rằng android:launchMode="singleInstance" vì nó được cho bởi @ Jörg-eisfeld không được khuyến khích để sử dụng chung, như được nêu trong tài liệu chính thức: https://developer.android.com/guide/topics/manifest/activity-element.html (xem android: launchMode phần)

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