導航:首頁 > 操作系統 > android開發自啟動

android開發自啟動

發布時間:2022-08-09 17:19:17

android開發之設置開機自動啟動的幾種方法

程序源代碼如下:
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++)/*以下為三重循環*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
}

main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
else if(i<=400000)
bonus=bonus2+(i-200000)*0.05;
else if(i<=600000)
bonus=bonus4+(i-400000)*0.03;
else if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%d",bonus);
}

❷ android 6.0 怎麼自啟

Android系統通過應用程序自行在系統中登記注冊事件(即Intent)來響應系統產生的各類消息。
例如Android實現系統開機自啟動程需要在Manifest中加入如下Intent-filter及許可權Uses-permission即可。
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
(修改時候主要是去掉上面該行即可)
<category android:name="android.intent.category.HOME" />
</intent-filter>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
(修改時候主要是去掉上面該行即可) Android系統為應用程序管理功能提供了大量的API,可以通過API控制Intent和permission,其中
上述配置表示應用程序會響應系統產生的android.intent.action.BOOT_COMPLETED(系統啟動完成)信號,以此來實現應用程序自啟動。當然知道上述原理後,我們就可以隨心所欲的控製程序開機自啟動了。具體思路如下:
一、手工方法
基於上述原理,我們可以通過對系統中已安裝的程序去除其Manifest的上述配置片段來控制應用程序的對系統的響應,當然沒源碼可修改編譯的情況下只能實現屏蔽其對有些信號的響應,例如屏蔽該程序不再開機自啟動。手工方法就是利用有關工具直接在解壓其APK包後,修改其Manifest的上述配置行後再打包成APK,最後安裝到系統中就實現了屏蔽其自啟動功能。具體相關的工具軟體主要有APKTOOL。(請自己放狗去搜索下載)
二、編程實現
當然手工方法需要藉助APKTOOL等工具,步驟比較法繁瑣,我們可以通過自己開發來實現該功能。幸好
1、PackageManager
本類API是對所有基於載入信息的數據結構的封裝,包括以下功能:
·安裝,卸載應用
·查詢permission相關信息
·查詢Application相關信息(application,activity,receiver,service,provider及相應屬性等)
·查詢已安裝應用
·增加,刪除permission
·清除用戶數據、緩存,代碼段等
非查詢相關的API需要特定的許可權,具體的API請參考SDK文檔。
2、ActivityManager相關
本類API是對運行時管理功能和運行時數據結構的封裝,包括以下功能
·激活/去激活activity
·注冊/取消注冊動態接受intent
·發送/取消發送intent
·activity生命周期管理(暫停,恢復,停止,銷毀等)
·activity task管理(前台->後台,後台->前台,最近task查詢,運行時task查詢)
·激活/去激活service
·激活/去激活provider等
task管理相關API需要特定的許可權,具體API可參考SDK文檔。

❸ 關於android 開發的app 加入自啟動管理

寫一個類繼續BroadcastReceiver,重寫onReceive,在onReceive里開啟一個服務Intent s=new Intent(ctx,MyService.class)然後在服務里寫你的業務邏輯。再在清單文件的application標簽中添加 < uses-permission android:name=
"android.permission.RECEIVE_BOOT_COMPLETED"/>
< uses-permission android:name=
"android.permission.RECEIVE_BOOT_COMPLETED"/> 就可以測試了

❹ android 怎麼自啟動應用

安裝自啟動:
要做這個功能有一個前提,那就是用戶的機器上已經裝過相應應用,也就是說只有升級APK的時候才可以這么干,因為要執行的功能需要程序的配合。
具體步驟如下:
首先要知道程序已經安裝完成,所以需要在程序中注冊一個廣播監聽(必須是靜態的,你懂的)apk安裝完成的action:"android.intent.action.PACKAGE_ADDED",在這個廣播的onReceive方法中監聽action,並通過intent.getDataString()方法判斷安裝程序的包名是否屬於自己的包名,如果是做下一步操作;
通過Intent顯式或者隱式的啟動你自己的程序。
建議:
  最好不要這樣干,你要考慮一下用戶的感受,特別是那種自動安裝不需要點確認的時候,正在玩游戲、看視頻、看小說、用微信你自動打開一個應用

開機自啟動
android實現開機自啟動可能是移動操作系統中最簡單的了,只需要監聽一個開機啟動的Broadcast(廣播)即可。首先寫一個Receiver(即廣播監聽器),繼承BroadcastReceiver。

如下所示:
public class BootReceiver extends BroadcastReceiver {
private PendingIntent mAlarmSender;
@Override
public void onReceive(Context context, Intent intent) {
// 在這里干你想乾的事(啟動一個Service,Activity等),本例是啟動一個定時調度程序,每30分鍾啟動一個Service去更新數據
mAlarmSender = PendingIntent.getService(context, 0, new Intent(context,
RefreshDataService.class), 0);
long firstTime = SystemClock.elapsedRealtime();
AlarmManager am = (AlarmManager) context
.getSystemService(Activity.ALARM_SERVICE);
am.cancel(mAlarmSender);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,
30 * 60 * 1000, mAlarmSender);
}
}

接下來,只需要在應用程序配置文件AndroidManifest.xml中注冊這個Receiver來監聽系統啟動事件即可

如下所示:
<receiver android:name=".service.BootReceiver">
<intent-filter>
<!-- 系統啟動完成後會調用-->
<action android:name="android.intent.action.BOOT_COMPLETED">
</action>
</intent-filter>
</receiver>

❺ 如何讓應用隨系統啟動 android

如果您是一位Java Android開發人員,那麼實現一個隨系統自啟動的應用對您來說應該非常Easy,但對於一位使用Adobe Flash技術開發應用,然後用AIR打包機制製作.APK的開發者來說,實現這個功能卻不是很輕松的。Flash的優勢就是跨平台,一位Flash開發者可以使用自身積累的知識體系,以最小的學習成本進入Android開發的世界。AIR在打包的時候對我們隱藏了很多細節,這樣一方面可以減少我們的學習阻力,一方面卻也因為這個不透明的過程造成一些困擾(後面詳述)。如果我們要實現一個功能,AIR核心API卻沒有提供實現,就成了非常麻煩的事情,不過現在好在AIR已經提供了一種擴展自己功能的機制,就是ANE。對於Android開發來說,我們可以使用Java代碼來完成AIR本身不提供的功能。

關於ANE的基本知識,您可以參閱這里(中文)

很棒的ANE for Android實例教程http://t.cn/SbsI5j跟這個過一遍就明白ANE的原理,創建過程和使用方式了。

下面我們來看看如何讓一個AIR打包的APK實現隨系統自己啟動的功能(當然也要藉助ANE了)。

APK的AndroidManifest.xml分析
在動手之前,您最好先把AIR打包產生的APK文件做一下分析,了解它的特性,後面就可以少走一些彎路。將.apk文件直接改擴展名為.zip,解壓即可看到它的結構。注意AndroidManifest.xml,這是Android應用非常核心的一個配置文件。這個文件是AIR打包自動產生的,但是和AIR應用本身的XML配置文件也是有管理的(AIR應用的XML配置中的android節點部分會被合並到AndroidManifest.xml,這樣方便我們做一些許可權設定等等)。

解壓得到的AndroidManifest.xml是個二進制的XML文檔,無法用文本工具查看,您可以先使用AXMLPrinter2.jar將它轉換為普通文本格式即可閱讀。

這個文件中我們要注意幾個細節:

1. manifest節點的package屬性不能由我們設定,這是AIR打包的時候自動設定的,規則是「air.應用ID」,比如我們的應用ID是TestAppANEs,那麼這里的設置就是package=」air.TestAppANEs」

2. 在application部分會自動產生一個activity,名稱是.AppEntry。activity相當於Android應用的視圖,AIR會自動產生一個視圖,用來承載我們的Flash內容。

了解這些細節之後,我們就可以繼續實施ANE部分的開發了。

ANE實現
創建ANE項目的過程就不細述了,您可以參閱Adobe的文檔。這里只說和隨系統啟動相關的部分。您首先要創建一個包,命名和manifest節點的package屬性保持一致,比如這里應該是air.TestAppANEs。這個地方要非常注意,包名必須遵循這樣的結構,否則運行時會找不到類。

然後在這個包中創建一個Java類:BootBroadCastReceiver,繼承BroadcastReceiver,完整代碼如下:

然後將Java項目編譯為JAR包,然後建立一個ActionScript庫項目,最終和JAR包打包為一個ANE文件(略過N多細節,請參閱Adobe文檔)。

這里再補充兩個細節問題,首先是ADT打包,ANE打包的參數確實很容易弄錯,估計第一次打包的同學很難能一次性通過,最後一個參數的點前面還有一個空格,提醒您千萬注意了 -platform Android-ARM -C .Android-ARM .

其次是您應該給extension.xml設置一個 ,並使用ActionScript實現一個模擬功能實施,並打包到ANE中,這樣方便您在PC測試,否則您會得到不支持調試的提示。
和主項目的整合
ANE製作完畢後,您可以用Flash Builder,在您的主項目上點擊右鍵,屬性,庫構建路徑,在ANE面板上,加入剛才製作的ANE文件(Flash Builder會自動在AIR應用的XML配置文件中加入這個ANE的ID,確保這個ID必須有)。然後在發布的時候,ANE的部分還有一個對勾(確定是否包含),一定記得點上,不然就會找不到類。
先別急著打包,我們還需要修改一下配置文件,打開AIR應用的XML配置文件,找到android部分,加入.BootBroadCastReceiver的定義,完整結構如下:

注意.BootBroadCastReceiver這個定義很關鍵,以.開頭才能實現隨系統啟動的功能。
然後…就沒有然後了。您可以測試您的應用,安裝後讓手機重啟,不出意外的話,您可以看到自己的應用在系統啟動完畢後,就會自己啟動並顯示主界面。
您也可以不顯示主界面,而是注冊一個Service,實現後台的通知和提醒。

❻ android如何實現開機自動啟動Service或app

import
android.content.BroadcastReceiver;
import
android.content.Context;
import
android.content.Intent;
import
android.util.Log;
public
class
BootBroadcastReceiver
extends
BroadcastReceiver
{
//重寫onReceive方法@Overridepublic
void
onReceive(Context
context,
Intent
intent)
{
//後邊的XXX.class就是要啟動的服務
Intent
service
=
new
Intent(context,XXXclass);
context.startService(service);
Log.v("TAG",
"開機自動服務自動啟動.....");
//啟動應用,參數為需要自動啟動的應用的包名

❼ 如何在Android上開發屬於自己的定製化啟動器

從最基本的概念角度來講,啟動器其實應該是一款能夠實現以下功能的應用程序:

它代表著一台設備的主屏幕。
它能夠列出並啟動已經安裝在該設備當中的應用程序。

換句話來說,它就是那款用戶按下home按鈕後所顯示的應用程序。除非大家已經安裝了定製化啟動器,否則我們目前正在使用的應該都是Android系統自帶的默認啟動方案。不少設備製造商都會在產品中默認使用由其定製的啟動器,從而確保我們獲得與廠商預期相符的外觀效果與使用感受,例如三星TouchWiz以及HTC
Sense。

在今天的教程中,我們將利用基本用戶界面創建出一款簡單的啟動器,它將由兩部分屏幕構成:

在主屏幕中顯示的是該設備的牆紙圖案。
另一屏幕中顯示的是已經安裝在設備當中的應用程序圖標及其它細節信息。

1.要求

大家需要在自己的開發設備上預先安裝並配置好以下項目:

Android SDK以及平台工具
Eclipse IDE 3.7.2或者更高版本,同時具備ADT插件
運行有Android 2.2或者更高版本的模擬器或者Android設備

大家可以點擊此處通過Android開發者門戶下載對應SDK及平台工具。

2.項目設置

首先我們需要啟動Eclipse並創建一個新的Android應用程序項目。我為這個應用取了個非常直白的名稱——SimpleLauncher,當然大家也可以自由選擇自己想要的名稱。請確保軟體包名稱沒有與其它項目出現重復。我們的啟動器所能支持的最低SDK版本為「凍酸奶」,而主要的面向版本則為「果凍豆」。

由於我們不打算創建Activity,因此取消「Create Activity」勾選項,然後點擊「Finish」以繼續。

3.項目清單

接下來我們需要通過添加兩個activity對AndroidManifest.xml文件進行修改。第一個Activity用於顯示主屏幕,我們如下所示將其命名為HomeActivity。
<activity android:name="ah.hathi.simplelauncher.HomeActivity" android:label="Simple Launcher Home" android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:stateNotNeeded="true" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>

通過將android.intent.category.HOME與android.intent.category.DEFAULT兩個類添加至intent-filter組當中,相關Activity得以擁有與啟動器概念相符的運行方式。當大家按下設備上的home按鈕時,其還將作為選項方案顯示出來。

我們還需要將launchMode設置到singleTask當中,從而確保無論何時都只有單一Activity實例由系統負責運行。要顯示用戶的牆紙圖案,大家必須將主題設置為Theme.Wallpaper.NoTitleBar.FullScreen。

我們需要添加的第二個Activity負責顯示已經安裝在用戶設備中的應用程序條目。它還有另一項任務,即啟動這些應用程序。我們不需要對該Activity進行任何特殊配置,將其命名為AppsListActivity即可。
<activity android:name="ah.hathi.simplelauncher.AppsListActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > </activity>

4.Activity布局

下面在項目的res/layout文件夾中為HomeActivity類創建一個XML文件,並將其命名為activity_home.xml。該布局擁有一個單獨的Button用以響應點觸事件。點觸該按鈕能夠讓用戶由主屏幕切換至應用程序列表。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".HomeActivity" > <Button android:id="@+id/apps_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:text="Show Apps" android:onClick="showApps" /> </RelativeLayout>

接下來,在項目的res/layout文件夾中為AppsListActivity類創建一個XML文件並將其命名為activity_apps_list.xml。該布局當中包含一個占據整個屏幕的ListView。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/apps_list" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </LinearLayout>

最後,在同樣的位置創建第三個XML文件並將其命名為list_item.xml。該文件用於定義ListView當中各個條目的布局方案。列表視圖中的每個條目都代表著已經安裝在用戶設備上的一款應用程序。它能夠顯示該應用程序的圖標、標簽以及軟體包名稱。我們可以利用ImageView實例來顯示該應用的圖標,並通過TextView實例顯示標簽與軟體包名稱。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" > <ImageView android:id="@+id/item_app_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" /> <TextView android:id="@+id/item_app_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/item_app_icon" android:paddingLeft="10dp" /> <TextView android:id="@+id/item_app_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/item_app_label" android:layout_toRightOf="@+id/item_app_icon" android:paddingLeft="10dp" /> </RelativeLayout>

5.創建Acitivity類

HomeActivity

應用程序的布局方案創建完成之後,現在要做的是創建兩個Activity類。當創建這兩個類時,請確保每個類的名稱都與我們之前在項目清單文件中所指定的內容相匹配。

創建一個名為HomeActivity的新類,然後將android.app.Activity設置為其超類。
package ah.hathi.simplelauncher; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class HomeActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); } public void showApps(View v){ Intent i = new Intent(this, AppsListActivity.class); startActivity(i); } }

在該類的onCreate方法中,我們調用setContentView並將其傳遞至之前已經創建完成的布局當中。大家可能還記得,我們曾為activity_home布局添加過一個按鈕,用於觸發名為showApps的方法。現在我們要做的是將該方法引入HomeActivity類當中。整個添加過程非常簡單,各位需要做的只是為AppsListActivity類創建一個Intent並付諸運行。

❽ android怎麼實現開機自動啟動Service或app

Android手機在啟動的過程中會觸發一個Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED。
在這里我們可以通過構建一個廣播接收者來接收這個這個action
(1).
public class TextBroadcastReceiver extends BroadcastReceiver {
//重寫onReceive方法
@Override
public void onReceive(Context context, Intent intent) {
//後邊的XXX.class就是要啟動的服務
Intent service = new Intent(context,XXXclass);
context.startService(service);
Log.v("TAG", "開機自動服務自動啟動.....");
//啟動應用,參數為需要自動啟動的應用的包名
Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);

context.startActivity(intent );
}

}
(2):配置xml文件,在receiver接收這種添加intent-filter配置
<receiver android:name="TextBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
(3):添加許可權 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

閱讀全文

與android開發自啟動相關的資料

熱點內容
編程時調試快捷鍵 瀏覽:3
安卓手機玩亞服怎麼下載 瀏覽:337
思域壓縮機多少錢 瀏覽:691
程序員代碼合適嗎 瀏覽:280
復利計演算法律保護 瀏覽:737
代號f2伺服器連接失敗怎麼搞 瀏覽:956
旋律雲我的世界伺服器靠譜嗎 瀏覽:63
pdf降低大小 瀏覽:231
魔獸世界中文如何外服伺服器 瀏覽:924
kindle轉pdf格式 瀏覽:61
單片機自動控制 瀏覽:673
需要很多文件夾怎麼快速的新建啊 瀏覽:68
演算法申請著作權 瀏覽:214
以前手機號換了要怎麼登錄農行app 瀏覽:196
線切割編程系統怎麼繪畫 瀏覽:263
如何搭建雲伺服器異地容災 瀏覽:927
黃金拐點指標源碼 瀏覽:99
演算法導論第九章 瀏覽:284
鴿子為什麼生成伺服器沒反應 瀏覽:497
freebsdnginxphp 瀏覽:225