Android系统应用间传递消息方法

来源:互联网 发布:java类中的init方法 编辑:程序博客网 时间:2024/06/05 15:40

通过Intent action

多用于启动一些应用,如打开浏览器,打开拨号盘等

比如关机


          Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);           intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);           intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);           startActivity(intent);



通过广播 BroadcastReceiver


多用于监听一些事件,如监听开机广播,监听电源键,监听来电短信,或者事件传递如打开飞行模式,打开手电筒等



如重启


     Intent intent<span style="font-family: Arial, Helvetica, sans-serif;"> </span>= new Intent(Intent.ACTION_REBOOT);       intent.putExtra("nowait", 1);       intent.putExtra("interval", 1);       intent.putExtra("window", 0);       sendBroadcast(intent);            




通过ContentProvider


多用于数据库相关 ,如联系人,短信,图库数据保存,传递



通过AIDL

系统最常用的方法大部分实现都使用了AIDL,如位置,LED,Wifi,蓝牙,电池等



通过Settings 一般用于设置config


        final int WaterDefault = Settings.Secure.getInt(getContentResolver(),                Settings.Secure.WATERRESISTANCE,                Settings.Secure.WATERRESISTANCE_DEFAULT);        final boolean WaterState =                (WaterDefault == Settings.Secure.WATERRESISTANCE_ON);        mToggleWaterTextPreference.setChecked(WaterState);        mToggleHighTextContrastPreference.setChecked(                Settings.Secure.getInt(getContentResolver(),                        Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, 0) == 1);





0 0
原创粉丝点击