我正在开发一个应用程序,可以计算一整天解锁的次数。
我见过许多类似的问题,但没有一个有效!!任何人可以帮助我,请提供上述问题的代码片段。
甚至要确保你提供的解决方案适用于androido及更高版本
主活动.java
public class MainActivity extends AppCompatActivity {
MyReceiver myReceiver;
IntentFilter filter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myReceiver = new MyReceiver();
filter = new IntentFilter(Intent.ACTION_USER_PRESENT);
registerReceiver(myReceiver, filter);
}}
我的接收器.java
public class MyReceiver extends BroadcastReceiver {
private static final String TAG = "BroadCast Receiver";
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(Intent.ACTION_USER_PRESENT)){
Toast.makeText(context, "DEVICE_IS_UNLOCKED",Toast.LENGTH_LONG).show();
Log.i(TAG, "Unlocked");
}
}
}
2条答案
按热度按时间yzxexxkh1#
在前台启动服务https://androidwave.com/foreground-service-android-example/?
jgovgodb2#
你需要做后台服务。
试试下面的代码。
在您的清单中添加此行
并使用下面的代码从您的活动中启动和停止服务
我希望这能帮助你!
谢谢您。