Android - 正确的通知方式和服务

时间:2018-01-21 02:20:54

标签: java android bluetooth kotlin android-notifications

我正在开发一款Android APP,它必须通过蓝牙保持连接并收听来电(如果它在前台运行)。
当我获得蓝牙连接并在断开连接时停止服务时,我能够通过保持服务运行来使其正常工作。 Service

public class ConnectionService extends Service {

    private final int NOTIFICATION_ID = 327;

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return START_STICKY;
    }

    @Override
    public IBinder onBind(Intent intent) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    @Override
    public void onCreate() {
        //Creates notification
        Intent notificationIntent = new Intent(this, MainActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
        Notification notification = new NotificationCompat.Builder(this)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentTitle("Title")
                .setContentIntent(pendingIntent).build();
        //Makes service run in foreground
        startForeground(NOTIFICATION_ID, notification);

        super.onCreate();
    }

    @Override
    public void onDestroy() {
        stopForeground(true);
        super.onDestroy();
    }
}

我的问题是:考虑通知工作方式的变化,我真的不明白它是如何工作的以及它现在是如何工作的,这是创建通知的正确方法吗?
而且,考虑到我试图通过此服务获得的内容,您是否有任何评论是好还是坏?

感谢所有人。 *提供的代码是用Java编写的,但现在我正在使用Kotlin,因此接受了两种语言。

0 个答案:

没有答案