============================== 在主界面手动发送广播
package com.huawei.tj.bi.monitor;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setAction("com.qlj.myReceiver");
sendBroadcast(intent);
}
});
}
}
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setAction("com.qlj.myReceiver");
sendBroadcast(intent);
}
});
}
}
========================================广播接受者启动intentService
package com.huawei.tj.bi.monitor;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
Intent intent = new Intent(arg0,SmsService.class);
intent.putExtra("key1", "value1");
intent.putExtra("key2", "value2");
intent.putExtra("key3", "value3");
arg0.startService(intent);
}
}
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
Intent intent = new Intent(arg0,SmsService.class);
intent.putExtra("key1", "value1");
intent.putExtra("key2", "value2");
intent.putExtra("key3", "value3");
arg0.startService(intent);
}
}
=====================================
IntentService
中启动线程完成耗时任务
package
com.huawei.tj.bi.monitor;
import
android.app.IntentService;
import
android.content.Intent;
import
android.util.Log;
public
class
SmsService
extends
IntentService {
public
SmsService() {
super
(
"com.huawei.tj.bi.monitor.SmsService"
);
}
@Override
protected
void
onHandleIntent(Intent intent) {
final
String value1 = (String) intent.getExtras().get (
"key1"
);
final
String value2 = (String) intent.getExtras().get (
"key2"
);
final
String value3 = (String) intent.getExtras().get (
"key3"
);
//Toast.makeText(getApplicationContext(), value1+value2+value3, 1).show();
new
Thread(){
public
void
run() {
Log. i(
"xxxxxxxx"
, value1+value2+value3);
try
{
Thread. sleep(20000);
}
catch
(InterruptedException e) {
//
TODO
Auto-generated catch block
e.printStackTrace();
}
//Toast.makeText(getApplicationContext(), value1+value2+value3+"--after", 1).show();
Log. i(
"xxxxxxxx"
, value1+value2+value3+
"--after"
);
};
}.start();
}
}
========================================文件清单
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
manifest
xmlns:android
=
"http://schemas.android.com/apk/res/android"
package
=
"com.huawei.tj.bi.monitor"
android:versionCode
=
"1"
android:versionName
=
"1.0"
>
<
uses-sdk
android:minSdkVersion
=
"8"
android:targetSdkVersion
=
"17"
/>
<
application
android:allowBackup
=
"true"
android:icon
=
"@drawable/ic_launcher"
android:label
=
"@string/app_name"
android:theme
=
"@style/AppTheme"
>
<
activity
android:name
=
"com.huawei.tj.bi.monitor.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
>
<
service
android:name
=
".SmsService"
></
service
>
<
receiver
android:name
=
".MyReceiver"
>
<
intent-filter
>
<
action
android:name
=
"com.qlj.myReceiver"
/>
</
intent-filter
>
</
receiver
>
</
application
>
</
manifest
>