簡體   English   中英

如何在Android啟動時啟動應用程序?

[英]How to start an Application at boot up in Android?

我正在嘗試在Titanium中制作一個在啟動時啟動的應用程序,即在移動設備啟動時啟動。 我已經看到了在幾個地方寫的代碼,它們聲明要輸入到andsoid清單文件中,並且一些代碼例如

 @Override
public void onReceive(Context context, Intent intent) {
  Intent myIntent = new Intent(context, YourActivity.class);
  context.startActivity(myIntent);
 }

但是我無法弄清楚該代碼放在哪里。 在哪個文件中 在哪里?

這2個答案將滿足您的需求:

在某些系統廣播后啟動BroadcastReceiver: https : //stackoverflow.com/a/7877466/988434

在啟動時啟動BroadcastReceiver: https : //stackoverflow.com/a/8544151/988434

在BroadcastReceiver中,您將實現所需的任何服務/活動。

在上面的兩個答案的問題中有一個示例。

告訴我,如果您在閱讀那些==后有任何未解決的問題。

您必須聽BOOT_COMPLETED意向過濾器。 您剛剛引用的代碼片段來自BroadcastReceiver ,它將在設備啟動時啟動。

此類必須從BroadcastReceiver擴展:

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
          ...
    }
}

然后,您必須通過執行以下操作在該清單文件中注冊該接收者:

<receiver 
    android:enabled="true"
    android:name="your_package.BootReceiverClassName"
    android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
        <intent-filter>
            <action  android:name="android.intent.action.BOOT_COMPLETED"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
</receiver>

您還需要以下權限:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>    

順便說一句,您必須確保該應用程序未安裝在SD卡上,否則它將無法正常工作(但可能有解決方法 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM