您的位置:首页 > 其它

broadcastreceiver温习

2013-08-09 15:09 197 查看
package com.example.broadcasttest0809;

import android.os.Bundle;

import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.util.Log;

import android.view.Menu;

public class MainActivity2 extends Activity {

protected static final String TAG = "MainActivity";

private static boolean refresh = false;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Intent i = new Intent(this,AlertReceiver.class);

//i.setAction("android.intent.action.CALL");

i.putExtra("msg", "===============");

sendBroadcast(i);

i.setClass(this, MainActivity.class);

startActivity(i);

}

}

package com.example.broadcasttest0809;

import android.os.Bundle;

import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.util.Log;

import android.view.Menu;

public class MainActivity extends Activity {

protected static final String TAG = "MainActivity";

private static boolean refresh = false;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

IntentFilter filter = new IntentFilter();

filter.addAction("android.intent.action.TIME_SET");

registerReceiver(mReceiver, filter);

Intent i = new Intent("android.intent.action.TIME_SET");

sendBroadcast(i);

}

private BroadcastReceiver mReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

Log.i(TAG, "mReceiver: action="+action);

if(action.equals("android.intent.action.TIME_SET")){

/*refresh = true;

Intent intent1 = new Intent(context,AlertActivity.class);

Log.i(TAG," ======= " + (context==MainActivity.this));

context.startActivity(intent1);*/

Intent intent1 = new Intent(context,AlertReceiver.class);

intent1.setAction("android.intent.action.CALL");

intent1.putExtra("msg2", "hhhhhhhhhhhhaaaaaaaaaaa");

Log.i(TAG," ======= " + (context==MainActivity.this));

context.sendBroadcast(intent1);

}

}

};

@Override

protected void onDestroy() {

super.onDestroy();

unregisterReceiver(mReceiver);

}

}

package com.example.broadcasttest0809;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.net.Uri;

import android.util.Log;

import android.widget.Toast;

public class AlertReceiver extends BroadcastReceiver {

protected static final String TAG = "MainActivity";

@Override

public void onReceive(Context context, Intent intent) {

// If this BroadcastReceiver was launched through a <receiver> tag, then the object is no longer alive after returning from this function.

/*Intent intent1 = new Intent("android.intent.action.CALL",Uri.parse("tel:" + 82128));

Log.i(TAG," context " + (context.getClass().getName() ));

intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent1)*/

Log.i(TAG," context " + (context.getClass().getName() ));

String text=null;

if(intent.hasExtra("msg")){

text = intent.getStringExtra("msg");

}else if(intent.hasExtra("msg2")){

text = intent.getStringExtra("msg2");

}

Toast.makeText(context, text, Toast.LENGTH_SHORT).show();

}

}

package com.example.broadcasttest0809;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

public class AlertActivity extends Activity {

protected static final String TAG = "MainActivity";

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

Intent intent1 = new Intent(Intent.ACTION_VIEW);

intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent1);

}

}

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.broadcasttest0809"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="16" />

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="com.example.broadcasttest0809.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>

<activity

android:name="com.example.broadcasttest0809.MainActivity2"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity

android:name="com.example.broadcasttest0809.AlertActivity"

android:label="@string/app_name" >

</activity>

<receiver android:name="com.example.broadcasttest0809.AlertReceiver">

<intent-filter>

<action android:name="android.intent.action.EVENT_REMINDER" />

<action android:name="android.intent.action.CALL" />

<action android:name="com.android.mms.SMS_PALY_START"/>

<action android:name="com.android.audiopreview.start"/>

<action android:name="com.android.audiopreview.pause"/>

<data android:scheme="content" />

</intent-filter>

</receiver>

</application>

</manifest>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: