后台服务或广播接收器
Background Service or Broadcast Receiver
这是我正在开发的应用程序储物柜应用程序。它锁定 android phone 中的所有应用程序。我想要做的是,当锁定的应用程序在 android 中是 运行 时,我的应用程序应该停止该应用程序并显示密码或图案屏幕,如果图案正确,那么它应该 运行 应用程序否则禁用它。所以,我想问一下,我应该使用后台服务来做到这一点还是应该使用广播接收器?不知道app第一次运行s的时候有没有发广播?而如果我使用后台服务,android重启时会不会运行?我的意思是不再 运行ning 应用程序?请帮助我,以便我能很好地理解它。谢谢。
后台服务可能是此类需求的更好选择。是的,您可以使用 BroadcastReceiver
在 phone 重新启动时启动后台服务。是这样的:
确保拥有此权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
然后在application
标签中,有这个接收器:
<receiver android:name=".MyBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
最后,BroadcastReceiver
:
public class MyBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent intent = new Intent(context, MyService.class);
context.startService(intent);
}
}
}
这样,您的服务将在每次设备重新启动时启动。
希望对您有所帮助。
使用需要添加 android.permission.PACKAGE_USAGE_STATS 来显示,如果您的 android 版本是 5.0 及以上 运行 此代码请求使用统计权限:
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);
这是我正在开发的应用程序储物柜应用程序。它锁定 android phone 中的所有应用程序。我想要做的是,当锁定的应用程序在 android 中是 运行 时,我的应用程序应该停止该应用程序并显示密码或图案屏幕,如果图案正确,那么它应该 运行 应用程序否则禁用它。所以,我想问一下,我应该使用后台服务来做到这一点还是应该使用广播接收器?不知道app第一次运行s的时候有没有发广播?而如果我使用后台服务,android重启时会不会运行?我的意思是不再 运行ning 应用程序?请帮助我,以便我能很好地理解它。谢谢。
后台服务可能是此类需求的更好选择。是的,您可以使用 BroadcastReceiver
在 phone 重新启动时启动后台服务。是这样的:
确保拥有此权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
然后在application
标签中,有这个接收器:
<receiver android:name=".MyBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
最后,BroadcastReceiver
:
public class MyBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent intent = new Intent(context, MyService.class);
context.startService(intent);
}
}
}
这样,您的服务将在每次设备重新启动时启动。
希望对您有所帮助。
使用需要添加 android.permission.PACKAGE_USAGE_STATS 来显示,如果您的 android 版本是 5.0 及以上 运行 此代码请求使用统计权限:
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);