Android實現開機自啟動某個程式
使用場景:手機開機後,自動執行程式,在螢幕上顯示”Hello. I started!”字樣。
背景知識:當Android手機啟動時,會發出一個系統廣播,叫做:ACTION_BOOT_COMPLETED,它的字串表示常量為android.intent.action.BOOT_COMPLETED。所以只要在開始時程式中捕獲這個廣播訊息,一切就好辦了。
程式碼如下:
1、介面程式碼,
package com.andy.zhu; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.app.Activity; import android.content.Intent; public class MainActivity extends Activity { private Button button_test_service; private Intent intent; private Button button_stop; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("hello started"); setContentView(tv); } }
2、接受廣播訊息,所以新建一個類,並繼承BroadcastReceiver
package com.andy.zhu; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.util.Log; public class BootRestartReceiver extends BroadcastReceiver { private final String ACTION = "android.intent.action.BOOT_COMPLETED"; @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (intent.getAction().equals(ACTION)); { Intent intent2 = new Intent(context, MainActivity.class); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); Log.d("DEBUG", "開機自動服務自動啟動..."); //Intent intentService = new Intent(); //intentService.setClass(context, MyService.class); //context.startService(intentService); } } }
程式碼都很簡單。重寫onReceiver方法,實現要實現的功能就行了。
3、配置menifest.xml檔案
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.andy.zhu" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:persistent="true" android:theme="@style/AppTheme" > <activity android:name="com.andy.zhu.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- 向系統註冊receiver --> <receiver android:name="com.andy.zhu.BootRestartReceiver" > <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver> </application> <!-- 新增許可權 --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> </manifest>
相關推薦
Android實現開機自啟動某個程式
使用場景:手機開機後,自動執行程式,在螢幕上顯示”Hello. I started!”字樣。 背景知識:當Android手機啟動時,會發出一個系統廣播,叫做:ACTION_BOOT_COMPLETED,它的字串表示常量為android
Android app實現靜默安裝並自動開啟,實現開機自啟動,異常崩潰重新啟動,定時關機等
現在很多公司都開始做智慧硬體產品,主要是在Android開發板上面開發應用app,尤其這兩年物聯網越來越火,這方面的需求越來越多,目前公司也是做智慧公交站臺的,需要開發的app實現開機自啟動,異常崩潰重新啟動,版本升級靜默安裝並自動開啟,定時開關機,感覺都要跟Android系
java程式實現開機自啟動功能
有時一個程式需要長時間執行,但如果重啟機器,沒人手動啟動軟體時,就沒有辦法執行起來。最好的辦法是能實現程式開機自啟動。 方案一: 工具: Instsrv.exe(可以給系統安裝和刪除服務) Srvany.exe(可以讓程式以服務的方式執行) 步驟:
CentOS 7 - 配置服務實現開機自啟動
用戶名 centos 7 ring Language get syslog emc log tst 新建系統服務描述文件 cd /etc/systemd/system sudo vim myapp.service 添加以下配置: [Unit] # 這裏添加你的服務描述 D
Linux環境中Tomcat實現開機自啟動
1.在 /etc/init.d目錄下面新建一個文字檔案,命名為 tomcat ,內容如下: #!/bin/sh # chkconfig: 345 99 10 # description: Auto-starts tomcat # /etc/init.d/tomc
[原始碼和文件分享]快速啟動目錄實現開機自啟動
背景 想必實現程式開機自啟動,是很常見的功能了。無論是惡意程式,還是正常的應用軟體,都會提供這個功能,方便使用者的使用。程式開機自啟動,顧名思義,就是計算機開機後,不用人為地去執行程式,程式就可以自己執行起來。對於這個功能的,一直都是殺軟重點監測的地方。因為,對於病毒來說,重要的不是如何被破壞,
[原始碼和文件分享]建立計劃任務實現開機自啟動
背景 想必實現程式開機自啟動,是很常見的功能了。無論是惡意程式,還是正常的應用軟體,都會提供這個功能,方便使用者的使用。程式開機自啟動,顧名思義,就是計算機開機後,不用人為地去執行程式,程式就可以自己執行起來。對於這個功能的,一直都是殺軟重點監測的地方。因為,對於病毒來說,重要的不是如何被破壞,
[原始碼和文件分享]建立系統服務實現開機自啟動
背景 想必實現程式開機自啟動,是很常見的功能了。無論是惡意程式,還是正常的應用軟體,都會提供這個功能,方便使用者的使用。程式開機自啟動,顧名思義,就是計算機開機後,不用人為地去執行程式,程式就可以自己執行起來。對於這個功能的,一直都是殺軟重點監測的地方。因為,對於病毒來說,重要的不是如何被破壞,
CentOS 基本指令(四)——將Jetty加入Linux service實現開機自啟動
為了使Jetty上的應用程式每次開機後都可以自動執行,需要把Jetty加入到Linux的service中。 使用chkconfig --list命令可以查詢現有的service: 將jetty.sh命令複製到etc/init.d路徑下,將jetty加入到自啟動服務中: 再次檢視現有的se
Android應用開機自啟動
應用開機自啟動 廣播接收器部分 public class MyReceiver extends BroadcastReceiver { public MyReceiver() { } @Override public void onR
linux實現開機自啟動指令碼
#!/bin/bash #chkconfig:2345 80 05 --指定在哪幾個級別執行,0一般指關機, 6指的是重啟,其他為正常啟動。80為啟動的優先順序,05為關閉的優先機 #description:mystart service RETVAL=0 start(){ --啟動服務的入口函式 echo
【Android】開機自啟動Service
之前我們有篇關於介紹 Android 如何實現開機自啟動,不過都寫的是關於如何啟動 Activity,本篇文章將介紹如何啟動 Service。 Service 的啟動相比 Acitivty 而言較為繁瑣,其實都是通過別的類去呼叫被啟動類,只不過可能 Activity 大
linux下開機自啟動應用程式
根據linux的開機啟動流程,在載入核心後執行/sbin/init,然後根據執行級別i啟動/etc/rci.d中的各個指令碼,結束後啟動個人化設定/etc/rc.d/rc.local指令碼 應用程式的執行可以在/etc/rc.d/rc.local這個指令碼檔案中進行設定 在/home/temp/
Android實現程式開機自啟動
可以通過Android系統中的廣播機制實現開機自啟動。廣播(Broadcast)是Android系統的四大元件之一,通過該機制可以實現不同應用程式之間的通訊。1 開機自啟動基本原理當Android系統開
如何實現程式開機自啟動
分為三步: 在AndroidManifest.xml檔案中定義廣播和宣告許可權 實現自定義廣播類 接收到廣播後,設定Activity的啟動模式 在AndroidManifest.xml檔案中定義廣播和宣告許可權 <uses-permission and
修改登錄檔實現程式開機自啟動
修改登錄檔實現程式開機自啟動 2017年09月27日 10:55:37 閱讀數:335 登錄檔簡介 何為登錄檔 登錄檔相當於Windows下的一個龐大的層次性資料庫. 基本上有責系統所有的配置資訊 登錄檔是windows作業系統中的一個核心資料庫,其中存放
[原始碼和文件分享]修改登錄檔的方式實現程式開機自啟動
背景 想必實現程式開機自啟動,是很常見的功能了。無論是惡意程式,還是正常的應用軟體,都會提供這個功能,方便使用者的使用。程式開機自啟動,顧名思義,就是計算機開機後,不用人為地去執行程式,程式就可以自己執行起來。對於這個功能的,一直都是殺軟重點監測的地方。因為,對於病毒來說,重要的不是如何被破壞,
C++實現程式開機自啟動
可以採用以下方式實現自啟動: //拷貝到系統目錄 TCHAR TempPath[MAX_PATH]; CString temp; ::GetSystemDirectory(TempPath ,MAX_PATH); temp = TempPath; temp = temp
Android開機自啟動程式設定及控制方法
Android系統通過應用程式自行在系統中登記註冊事件(即Intent)來響應系統產生的各類訊息。 例如Android實現系統開機自啟動程需要在Manifest中加入如下Intent-filter及許可權Uses-permission即可。 <intent-f
如何實現QT程式開機自啟動
#!/bin/sh export LD_LIBRARY_PATH=/usr/local/tslib/lib:/usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib:$LD_LIBRARY_PATH /home/yjt/test0