用Android stdio写一个系统通知服务程序,写出Java代码和xml代码,及具体步骤
时间: 2024-03-24 20:36:12 浏览: 75
android 通知开发
好的,下面是具体步骤和代码:
1. 创建一个新的 Android Studio 项目,并在项目中创建一个新的服务类:
```java
public class MyNotificationService extends Service {
private NotificationManager notificationManager;
private static final int NOTIFICATION_ID = 1;
@Override
public void onCreate() {
super.onCreate();
notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// 创建通知
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "default")
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("系统通知服务")
.setContentText("这是一条系统通知")
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
// 发送通知
notificationManager.notify(NOTIFICATION_ID, builder.build());
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
// 不需要绑定服务
return null;
}
}
```
2. 在 AndroidManifest.xml 文件中添加服务声明:
```xml
<service android:name=".MyNotificationService" />
```
3. 创建一个按钮用来启动服务,并在 MainActivity.java 中设置按钮的点击事件:
```java
public class MainActivity extends AppCompatActivity {
private Button startButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startButton = findViewById(R.id.start_button);
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MyNotificationService.class);
startService(intent);
}
});
}
}
```
4. 在 activity_main.xml 文件中添加一个按钮:
```xml
<Button
android:id="@+id/start_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="启动服务"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
```
5. 在 AndroidManifest.xml 文件中添加通知渠道声明:
```xml
<application ...>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<receiver
android:name=".NotificationReceiver"
android:enabled="true"
android:exported="true" />
<service android:name=".MyNotificationService" />
<channel
android:id="@string/default_notification_channel_id"
android:name="@string/default_notification_channel_name"
android:importance="default" />
</application>
```
6. 运行应用,点击按钮启动服务,即可收到一条系统通知。
希望这些代码和步骤对你有所帮助!
阅读全文