reference:https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/30664/
在app>java>專案目錄> 直到與MainActivity新增java class "BootBroadcastReceiver.java"如下圖 :
新增程式碼在BootBroadcastReceiver中
import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent; public class BootBroadcastReceiver extends BroadcastReceiver { static final String ACTION = "android.intent.action.BOOT_COMPLETED"; @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(ACTION)) { Intent mainActivityIntent = new Intent(context, MainActivity.class); // 要啟動的Activity mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(mainActivityIntent); } } }
將receiver註冊在AndroidMainfest.xml內
android:name=".BootBroadcastReceiver"/>android:name=".MainActivity" android:screenOrientation="landscape">
註冊另一action使重開機能夠自動載入:
android:name="android.intent.action.QUICKBOOT_POWERON" />
設定使用者權限在AndroidMainfest.xml內
android:name="android.permission.RECEIVE_BOOT_COMPLETED">
、adb傳送BOOT_COMPLETED
我們可以通過
我們可以通過
1
|
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
|
命令傳送BOOT_COMPLETED廣播,而不用重啟測試機或模擬器來測試BOOT_COMPLETED廣播,這條命令可以更精確的傳送到某個package,如下:
1
|
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n package_name/class_name
|
home鍵預設讀取App:
在AndroidMainfest.xml內寫入以下設定 :
android:name="android.intent.category.LAUNCHER" />android:name="android.intent.category.HOME" />
Android移除應用程式標籤
在onCreate 呼叫hide()
if (getSupportActionBar() != null){
getSupportActionBar().hide();
}
沒有留言:
張貼留言