in this onstart() of the main activity(androidservicetestactivity.java), we instance and register our own broadcastreceiver(myreceiver), and also start our service(myservice.java). in myservice.java, it will send 10 actions with my_action. it will trigger the myreceiver in androidservicetestactivity.java.
main activity androidservicetestactivity.java
Mã nguồn PHP:
[color=#000000]
package com[/color][color=#007700].[/color][color=#0000bb]androidservicetest[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]app[/color][color=#007700].[/color][color=#0000bb]activity[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]broadcastreceiver[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]context[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]intent[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]intentfilter[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]os[/color][color=#007700].[/color][color=#0000bb]bundle[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]toast[/color][color=#007700];
public class [/color][color=#0000bb]androidservicetestactivity [/color][color=#007700]extends [/color][color=#0000bb]activity [/color][color=#007700]{
[/color][color=#0000bb]myreceiver myreceiver[/color][color=#007700];
[/color][color=#ff8000]/** called when the activity is first created. */
[/color][color=#007700]@[/color][color=#0000bb]override
[/color][color=#007700]public [/color][color=#0000bb]void oncreate[/color][color=#007700]([/color][color=#0000bb]bundle savedinstancestate[/color][color=#007700]) {
[/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]oncreate[/color][color=#007700]([/color][color=#0000bb]savedinstancestate[/color][color=#007700]);
[/color][color=#0000bb]setcontentview[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]main[/color][color=#007700]);
}
@[/color][color=#0000bb]override
[/color][color=#007700]protected [/color][color=#0000bb]void onstart[/color][color=#007700]() {
[/color][color=#ff8000]// todo auto-generated method stub
//register broadcastreceiver
//to receive event from our service
[/color][color=#0000bb]myreceiver [/color][color=#007700]= new [/color][color=#0000bb]myreceiver[/color][color=#007700]();
[/color][color=#0000bb]intentfilter intentfilter [/color][color=#007700]= new [/color][color=#0000bb]intentfilter[/color][color=#007700]();
[/color][color=#0000bb]intentfilter[/color][color=#007700].[/color][color=#0000bb]addaction[/color][color=#007700]([/color][color=#0000bb]myservice[/color][color=#007700].[/color][color=#0000bb]my_action[/color][color=#007700]);
[/color][color=#0000bb]registerreceiver[/color][color=#007700]([/color][color=#0000bb]myreceiver[/color][color=#007700], [/color][color=#0000bb]intentfilter[/color][color=#007700]);
[/color][color=#ff8000]//start our own service
[/color][color=#0000bb]intent intent [/color][color=#007700]= new [/color][color=#0000bb]intent[/color][color=#007700]([/color][color=#0000bb]androidservicetestactivity[/color][color=#007700].[/color][color=#0000bb]this[/color][color=#007700],
[/color][color=#0000bb]com[/color][color=#007700].[/color][color=#0000bb]androidservicetest[/color][color=#007700].[/color][color=#0000bb]myservice[/color][color=#007700].class);
[/color][color=#0000bb]startservice[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700]);
[/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]onstart[/color][color=#007700]();
}
@[/color][color=#0000bb]override
[/color][color=#007700]protected [/color][color=#0000bb]void onstop[/color][color=#007700]() {
[/color][color=#ff8000]// todo auto-generated method stub
[/color][color=#0000bb]unregisterreceiver[/color][color=#007700]([/color][color=#0000bb]myreceiver[/color][color=#007700]);
[/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]onstop[/color][color=#007700]();
}
private class [/color][color=#0000bb]myreceiver [/color][color=#007700]extends [/color][color=#0000bb]broadcastreceiver[/color][color=#007700]{
@[/color][color=#0000bb]override
[/color][color=#007700]public [/color][color=#0000bb]void onreceive[/color][color=#007700]([/color][color=#0000bb]context arg0[/color][color=#007700], [/color][color=#0000bb]intent arg1[/color][color=#007700]) {
[/color][color=#ff8000]// todo auto-generated method stub
[/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]androidservicetestactivity[/color][color=#007700].[/color][color=#0000bb]this[/color][color=#007700],
[/color][color=#dd0000]"triggered by service!"[/color][color=#007700],
[/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_long[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700]();
}
}
}
[/color]
myservice.java
Mã nguồn PHP:
[color=#000000]
package com[/color][color=#007700].[/color][color=#0000bb]androidservicetest[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]app[/color][color=#007700].[/color][color=#0000bb]service[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]intent[/color][color=#007700];
[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]os[/color][color=#007700].[/color][color=#0000bb]ibinder[/color][color=#007700];
public class [/color][color=#0000bb]myservice [/color][color=#007700]extends [/color][color=#0000bb]service [/color][color=#007700]{
final static [/color][color=#0000bb]string my_action [/color][color=#007700]= [/color][color=#dd0000]"my_action"[/color][color=#007700];
@[/color][color=#0000bb]override
[/color][color=#007700]public [/color][color=#0000bb]ibinder onbind[/color][color=#007700]([/color][color=#0000bb]intent arg0[/color][color=#007700]) {
[/color][color=#ff8000]// todo auto-generated method stub
[/color][color=#007700]return [/color][color=#0000bb]null[/color][color=#007700];
}
@[/color][color=#0000bb]override
[/color][color=#007700]public [/color][color=#0000bb]int onstartcommand[/color][color=#007700]([/color][color=#0000bb]intent intent[/color][color=#007700], [/color][color=#0000bb]int flags[/color][color=#007700], [/color][color=#0000bb]int startid[/color][color=#007700]) {
[/color][color=#ff8000]// todo auto-generated method stub
[/color][color=#0000bb]mythread mythread [/color][color=#007700]= new [/color][color=#0000bb]mythread[/color][color=#007700]();
[/color][color=#0000bb]mythread[/color][color=#007700].[/color][color=#0000bb]start[/color][color=#007700]();
return [/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]onstartcommand[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700], [/color][color=#0000bb]flags[/color][color=#007700], [/color][color=#0000bb]startid[/color][color=#007700]);
}
public class [/color][color=#0000bb]mythread [/color][color=#007700]extends [/color][color=#0000bb]thread[/color][color=#007700]{
@[/color][color=#0000bb]override
[/color][color=#007700]public [/color][color=#0000bb]void run[/color][color=#007700]() {
[/color][color=#ff8000]// todo auto-generated method stub
[/color][color=#007700]for([/color][color=#0000bb]int i[/color][color=#007700]=[/color][color=#0000bb]0[/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]10[/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]++){
try {
[/color][color=#0000bb]thread[/color][color=#007700].[/color][color=#0000bb]sleep[/color][color=#007700]([/color][color=#0000bb]5000[/color][color=#007700]);
[/color][color=#0000bb]intent intent [/color][color=#007700]= new [/color][color=#0000bb]intent[/color][color=#007700]();
[/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]setaction[/color][color=#007700]([/color][color=#0000bb]my_action[/color][color=#007700]);
[/color][color=#0000bb]sendbroadcast[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700]);
} catch ([/color][color=#0000bb]interruptedexception e[/color][color=#007700]) {
[/color][color=#ff8000]// todo auto-generated catch block
[/color][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]printstacktrace[/color][color=#007700]();
}
}
[/color][color=#0000bb]stopself[/color][color=#007700]();
}
}
}
[/color]
modify androidmanifest.xml to add service ".myservice"
Mã nguồn PHP:
[color=#000000]
[/color][color=#007700]<?[/color][color=#0000bb]xml version[/color][color=#007700]=[/color][color=#dd0000]"1.0" [/color][color=#0000bb]encoding[/color][color=#007700]=[/color][color=#dd0000]"utf-8"[/color][color=#0000bb]?>
[/color]<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidservicetest"
android:versioncode="1"
android:versionname="1.0">
<uses-sdk android:minsdkversion="7" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".androidservicetestactivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.main" />
<category android:name="android.intent.category.launcher" />
</intent-filter>
</activity>
<service android:name=".myservice"/>
</application>
</manifest>
next:
- pass data from service to activity
Bánh bao - một món ăn tập quán của Việt Nam đã trở thành 1 trong những món ăn phổ biến và được yêu thích không chỉ trong nước mà còn trên quốc tế. Với hương vị mặn mà, đáng chú ý và dễ ăn, bánh bao...
Bí quyết làm thế nào để đại lý bánh bao kỳ lạ thực khách