2013-06-05 34 views
5

Tôi cần biết lý do tại sao ứng dụng của tôi không chạy ngay sau khi khởi động trong điện thoại thực Android? Ứng dụng của tôi chạy nhưng sau một vài giây khởi động.Cần khởi động ứng dụng ngay sau khi khởi động xong

Mã của tôi là

public class AutoStart extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
     if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){ 
       Intent i = new Intent(context, MyActivity.class); 
       i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       context.startActivity(i); 
      } 
    } 

} 

hoạt động của tôi đang chạy, nhưng sau vài giây của khởi động hoàn thành. Có thể giảm số giây này không?

Tôi muốn chạy ứng dụng của mình ngay lập tức. Tôi không muốn cho phép người dùng truy cập vào điện thoại.

+0

Bạn không thể giảm thời gian khởi chạy ứng dụng sau khi khởi động. Hệ điều hành của điện thoại chuẩn bị lưu trữ và thực thi các dịch vụ và quy trình bao gồm cả ứng dụng được đặt khi hoàn thành khởi động. Nó sẽ mất một thời gian, vì nó cũng phụ thuộc vào bộ nhớ (RAM) của điện thoại. RAM càng nhanh, các ứng dụng và dịch vụ sẽ khởi chạy. –

Trả lời

10

Điều này có thể tăng bạn ưu tiên nhưng vẫn sẽ có sự chậm trễ. Vì Android lần đầu tiên tải hệ điều hành của nó và tất cả các hoạt động khác bắt đầu.

<receiver 
    android:name=".AutoStart" 
    android:enabled="true" 
    android:exported="true" 
    <intent-filter android:priority="1000"> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 
+0

Vì vậy, ưu tiên cao nhất có thể là gì? Và nếu một ứng dụng khác có cùng mức độ ưu tiên thì cờ này có vô dụng không? – HendraWD

+2

Giá trị phải là một số nguyên, chẳng hạn như "100". Số cao hơn có mức độ ưu tiên cao hơn. Giá trị mặc định bằng 0. Giá trị phải lớn hơn -1000 và nhỏ hơn 1000. từ https://developer.android.com/guide/topics/manifest/intent-filter-element.html – HendraWD

1

Hệ thống Android thực hiện nhiều công việc khi khởi động xong. do đó mục đích có thể bị trì hoãn. Tùy thuộc vào khả năng của điện thoại, thời gian trễ của mục đích sẽ khác nhau.

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