android开机启动接收广播和接收短信广播DEMO
2014-08-15 22:14
441 查看
MainActivity.java
package com.example.boottest; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
Boot.java
package com.example.boottest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class Boot extends BroadcastReceiver{ public void onReceive(Context context,Intent intent){ Toast toast = Toast.makeText(context, "已经接受到开机广播",Toast.LENGTH_LONG); toast.show(); } }
AndroidManifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.boottest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.boottest.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 android:name=".Boot" > <intent-filter android:priority="1000"> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver> </application> </manifest>
接收短信广播demo
MainActivity.java
package com.example.sms1; import android.os.Bundle; import android.app.Activity; import android.content.IntentFilter; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SMSreceiver myReceiver=new SMSreceiver(); IntentFilter filter=new IntentFilter(); filter.addAction("android.provider.Telephony.SMS_RECEIVED"); filter.setPriority(Integer.MAX_VALUE); registerReceiver(myReceiver,filter); } }
SMSreceiver.java
package com.example.sms1; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class SMSreceiver extends BroadcastReceiver{ public void onReceive(Context context,Intent intent){ Toast toast = Toast.makeText(context, "收到了短消息:" + "123456",Toast.LENGTH_LONG); toast.show(); } }
AndroidManifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sms1" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <uses-permission android:name="android.permission.SEND_SMS"/> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.sms1.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 android:name=".SMSreceiver" > <intent-filter android:priority="800"> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> </application> </manifest>
开机启动那个安装完程序后需要启动一次,然后开机就可以收到广播
接收短信那个在程序中和配置文件中分别注册广播,前者是动态注册后者是静态注册,动态比静态的优先级高
两者的onReceive都是简单的提示,以表示收到广播,想要什么操作可以再方法里面自己写
以上两个程序分别在三星手机android2.3上和索尼android手机4.1.2上测试,都能成功
但是在红米手机上测试都不成功,不知道为什么
相关文章推荐
- 接受和发送广播------开机启动和接收短信
- android 接收开机广播启动service
- android广播实现短信窃听器和开机自动启动activity
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 接收系统广播,开机启动Service,SMS,Battery
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- android BroadcastReceiver详细讲解1-自带的广播接受器-拨号、短信、卸载/安装、开机启动
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- android131 360 05 手势触摸滑动,sim卡,开机启动的广播,手机联系人,SharedPreferences,拦截短信
- Android 接收开机广播,启动程序或者Service
- Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务
- 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)
- Android 4.0 开机启动广播
- Android 短信广播接收相关问题
- Android学习篇章35-Service基础-广播开机启动服务
- Android实现开机自启动(一)——实现接收开机广播