用Android stdio写一个系统通知服务程序,写出Java代码和xml代码,和权限
时间: 2024-03-24 22:36:17 浏览: 77
好的,下面是具体的Java代码、XML代码和权限列表:
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
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.notification">
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<application
...
<service android:name=".MyNotificationService"
android:enabled="true"
android:exported="true" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
```
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. 运行应用,点击按钮启动服务,即可收到一条系统通知。
希望这些代码和步骤对你有所帮助!
阅读全文