android - 监听用户更改事件(多用户设备)

标签 android broadcastreceiver

我有一个应用程序,它会在手机启动时自行启动。一位用户告诉我,他的手机被两个人使用,一个正在使用我的应用,一个没有。

因此,当用户切换时,我需要一些事件来监听,这样如果正确的用户正在使用手机,我就可以启动我的应用服务。有什么我可以用的吗?

编辑

我正在使用 list 中注册的广播接收器监听启动事件,所以我知道这是什么。但我找不到任何适合在设备上切换用户的东西

最佳答案

你需要在 android 中寻找一个叫做 BroadcastReciever 的东西。它们用于捕获事件,例如相机点击、手机启动、屏幕解锁等...这些事件有一个名为 onReceive 的回调,您可以在其中实现登录。

这很容易,你可以谷歌它。

在您的 list 中:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

在您的应用程序元素中(确保为您的 BroadcastReceiver 使用完全限定的 [或相对] 类名):

<receiver android:name="com.example.MyBroadcastReceiver">  
    <intent-filter>  
        <action android:name="android.intent.action.BOOT_COMPLETED" />  
    </intent-filter>  
</receiver>

在 MyBroadcastReceiver.java 中:

package com.example;

public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent startServiceIntent = new Intent(context, MyService.class);
        context.startService(startServiceIntent);
    }
}

关于android - 监听用户更改事件(多用户设备),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48360769/

相关文章:

Android BLE BluetoothGatt.writeDescriptor() 有时返回 false

android - broadCastReceivers 与 CallBackListeners

android - 如何更改最近的应用程序缩略图?

android - 权限拒绝 : broadcasting intent android?

android - 错误 "OMX_GetExtensionIndex failed"在 MediaCodec 的上下文中意味着什么,我该如何解决它?

Android:从不同的 Activity 刷新 ListView

java - ImageView 区域小于它的实际大小

java - 如何在 TextInputLayout 中设置错误结束图标。错误发生时显示,没有错误时消失

java - 下载管理器完成多次下载后如何执行任务

android - flutter 插件 : Send data from Android BroadcastReceiver to Flutter code