几个system services
来源:互联网 发布:淘宝拿货网 编辑:程序博客网 时间:2024/05/18 21:40
1、示例演示ALARM_SERVICE、KEYGUARD_SERVICE、POWER_SERVICE的用法
1)MainActivity.java
/** * 在onCreate设置新闹铃 * 点击按钮打开手机内置Clock,可设置新闹铃 */public class MainActivity extends Activity {PendingIntent mPendingIntent;AlarmManager mAlarmManager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);//在广播中启动新Activity,在新Activity启动闹铃mPendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(AlarmReceiver.ACTION_ALARM_ACTIVITY).putExtra("msg", "Time's up!"), 0);CheckBox checkBox = (CheckBox) findViewById(R.id.btn_on_off);checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(isChecked){buttonView.setText("已打开");mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime()+10000L, mPendingIntent);}else{buttonView.setText("未开启");mAlarmManager.cancel(mPendingIntent);}}});}public void onClick(View v){switch (v.getId()) {case R.id.btn_callAlarmClock://从一个Activity打开另一个ActivitystartActivity(new Intent(AlarmClock.ACTION_SET_ALARM));break;}}}2)AlarmReceiver.java
public class AlarmReceiver extends BroadcastReceiver {private static final String TAG = AlarmReceiver.class.getSimpleName();public static final String ACTION_ALARM_ACTIVITY = "action.alarm.activity";@Overridepublic void onReceive(Context context, Intent intent) {if(ACTION_ALARM_ACTIVITY.equals(intent.getAction())){Log.d(TAG, intent.getStringExtra("msg"));Intent intent2 = new Intent(context, MyActivity.class);intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent2);}}}3)MyActivity.java
/** * 1、在onCreate启动闹铃 * 2、点击按钮可选择关闭闹铃 */public class MyActivity extends Activity {private MediaPlayer player;PowerManager.WakeLock wl;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_me);/*1*/player = new MediaPlayer();try {/*2*/player.setDataSource(this, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM));/*3*/player.prepare();player.setLooping(true);/*4*/player.start();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (SecurityException e) {e.printStackTrace();} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}//解锁屏幕KeyguardManager km = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock"); kl.disableKeyguard();//点亮屏幕并保持PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "MyWakeLock");wl.acquire();}public void onClick(View v){switch (v.getId()) {case R.id.btn:new AlertDialog.Builder(this).setTitle("ֹͣ是否关闭闹钟?").setPositiveButton("关闭", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {player.stop();}}).setNegativeButton("继续", null).show();break;case R.id.btn_release:wl.release();break;default:break;}}}
4)activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:id="@+id/btn_callAlarmClock" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="打开手机内置时钟" android:onClick="onClick"/> <CheckBox android:id="@+id/btn_on_off" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="未开启" android:checked="false"/></LinearLayout>5)activity_me.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="onClick" android:text="关闭"/> <Button android:id="@+id/btn_release" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="onClick" android:text="release"/></LinearLayout>6)AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.qinuli.alarmtest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19" /> <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.qinuli.alarmtest.MainActivity" android:label="@string/app_name" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.qinuli.alarmtest.AlarmReceiver"> <intent-filter> <action android:name="action.alarm.activity"/> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver> <activity android:name="com.qinuli.alarmtest.MyActivity"></activity> </application></manifest>
0 0
- 几个system services
- System Services
- System Integration Services
- .NET System Management Services
- RH133 Unit4 System Services
- The System.Web.Services Namespace
- Hooking Windows NT System Services
- Android System Services 环境浅析
- Android System Services 环境浅析
- Android System Services 环境浅析
- enable or disable system services
- android system services startup process
- Android System Services 环境浅析
- Reporting Services几个小细节
- 【Android】adb : system/core/adb/services.c
- [System.Web.Script.Services.ScriptService]引用问题
- iOS系统声音服务(System Sound Services)
- Windows XP Build 2600 System Services vs Windows 2000 Build 2195 System Services
- fork函数
- Spring 3.0: Unable to locate Spring NamespaceHandler for XML schema namespace
- 黑马程序员_封装、继承、多态
- ngx_align_ptr宏
- iOS:毛玻璃效果
- 几个system services
- Eclipse工程目录详解By荼荼小蘼
- Unicode 字符编码表|汉字Unicode编码的区间为:0x4E00→0x9FA5(转)
- C语言陷阱---丢三落四
- 【MySQL】命令行执行sql,去除字段名
- Windows7系统服务详解
- Spring中ApplicationContext和beanfactory区别
- JsonObject To HashMap
- uboot中进行make xx_config