您的位置:首页 > 移动开发 > Android开发

android SystemService简单入门 初识系统服务

2016-08-18 09:47 561 查看
上代码:

package com.example.xh.systemservice;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
//MainActivity.java
public class MainActivity extends AppCompatActivity {
AudioManager mAudioManager;<span style="white-space:pre"> </span>//定义一个管理系统音量的函数<span style="white-space:pre"> </span> AlarmManager mAlarmManager; //定义一个系统闹钟
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到系统服务
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); //获取系统音量服务
mAlarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);//获取系统闹钟服务
}
public void adjustVolumn(View view){
//streamType 类型,手机,闹铃,音乐...
mAudioManager.adjustStreamVolume(AudioManager.STREAM_VOICE_CALL,AudioManager.ADJUST_RAISE,AudioManager.FLAG_SHOW_UI);//点击设置系统音量<pre name="code" class="java" style="font-size: 12.6316px;">/*AudioManager.STREAM_VOICE_CALL是指通话音量<pre name="code" class="java" style="font-size: 12.6316px;">AudioManager.ADJUST_RAISE是指音量调大

AudioManager.FLAG_SHOW_UI是指显示UI
*/ } public void setArm(View view) { long time = System.currentTimeMillis(); time+= 1000; //定义1000ms后闹铃执行一次service服务 Intent intent = new Intent(MainActivity.this,MyService.class);//new出一个MyService服务
PendingIntent pi=PendingIntent.getService(this,0,intent,0);//pi用来获取Service服务
mAlarmManager.set(AlarmManager.RTC_WAKEUP,time,pi);//设置系统闹钟<pre name="code" class="java" style="font-size: 12.6316px;">/*AlarmManager.RTC_WAKEUP是指闹钟唤醒后
<pre name="code" class="java" style="font-size: 12.6316px;">time是指唤醒闹钟到调用service所等待的时间
pi是指service服务*/

}
}
<span style="font-size: 12.6316px; font-family: Arial, Helvetica, sans-serif;">		</span>
<pre name="code" class="java">package com.example.xh.systemservice;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.widget.Toast;
//MyService.java
public class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(getApplicationContext(),"时间到了....",Toast.LENGTH_LONG).show();
return super.onStartCommand(intent, flags, startId);
}

@Override
public IBinder onBind(Intent intent) {
return null;
}
}<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">																																																																		</span>




activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.xh.systemservice.MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/textView" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="调节音量"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:onClick="ad
4000
justVolumn"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="闹钟"
android:id="@+id/button2"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="59dp"
android:onClick="setArm"/>
</RelativeLayout>


别忘记声明一下service!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: