当前位置:首页 » 安卓系统 » android解锁监听

android解锁监听

发布时间: 2023-06-14 13:49:16

‘壹’ android中多个按钮用一个监听器监听怎么写,求具体的代码,谢谢。

1、先申明一个监听对象
2、不同按钮设置同一个监听对象
3、监听中,通过按钮的id判断是哪个按钮的点击事件
代码如下
1、new监听
OnClickListener clickListener = new OnClickListener(){
@Override
public void onClick(View v) {
if (v.getId()==R.id.button1){//按钮1
}else if(v.getId()==R.id.button2}{//按钮2
}
}
2、设置监听
Button btn1 = (Button)findViewById(R.id.button1);
Button btn2 = (Button)findViewById(R.id.button1);
btn1.setOnClickListener(clickListener);
btn2.setOnClickListener(clickListener);

‘贰’ android5.0如何监听开机

总而言之:要想获得开机广播,你必须在保证两点,1)你的应用程序在安装后必须运行一次;2)你的应用程序没有被强行停止

那么如果要实现开机自启动服务,该怎么实现?直接上源码
1、BootCompletedReceiver.java文件

public class BootCompletedReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.d("LibraryTestActivity", "recevie boot completed ... ");
context.startService(new Intent(context, TestService.class));
}
}

配置文件中:

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

<receiver android:name=".BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>

注意,一定要加上权限,否则就收不到广播咯。

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

3、安装应用到你的手机后,启动一次该应用,那么下次开机就能收到BOOT_COMPLETED广播,并且就能看到TestService服务启动了。

做了个测试:到设置??>应用程序,找到刚才安装的应用,点击“强行停止”,那么重启手机后,就收不到BOOT_COMPLETED广播了。
如果该应用被有些三方安全软件强制杀掉进程后,重启手机也会收不到BOOT_COMPLETED广播。

‘叁’ Android实践6 | 实现Button的监听

按钮是最常用的控件,通过onClick方法可以实现单击按钮后产生一定的操作。可以传递intent,也可显示提示信息。

1、学会重载setOnClickListener方法,进行按钮的监听处理
2、Toast的使用

1、单按钮监听
1)、在按钮所属的父Activity里,创建按钮变量
private Button mBtnTextView;
2)、在onCreate方法内部,变量关联资源id
mBtnTextView = (Button) findViewById(R.id.btn_tv);
3)、在onCreate方法内部,设置setOnClickListener

2、多按钮监听
1)、在按钮所属的父Activity里,创建多个按钮变量,和Intent变量

2)、在onCreate方法内部,变量关联资源id

3)、在onCreate方法内部,设置setOnClickListener

4),在按钮所属的父Activity里,创建公共的ButtonListener监听类

可通过传入Button的Id switch语句进行选择 进行监听 实现不同的操作

要点:
1、findViewById方法关联资源里的按钮id。
2、重载View.OnClickListener方法。
3、使用的单击后启动操作都在onClick方法里。
getId()方法取得按钮的id,确定是那一个按钮被单击。
4、Toast英文含义是吐司,在Android中,它就像烘烤机里做好的吐司弹出来,并持续一小段时间后慢慢消失。
1)、makeText方法
2)、show()方法
如:

‘肆’ android开发怎么监控来电并监听

实现如下广播,并且在AndroidManifest中进行注册

public class PhoneReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
System.out.println("action"+intent.getAction());
//如果是去电
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
String phoneNumber = intent
.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.d(TAG, "call OUT:" + phoneNumber);
}else{
//查了下android文档,貌似没有专门用于接收来电的action,所以,非去电即来电.
//如果我们想要监听电话的拨打状况,需要这么几步 :
* 第一:获取电话服务管理器TelephonyManager manager = this.getSystemService(TELEPHONY_SERVICE);
* 第二:通过TelephonyManager注册我们要监听的电话状态改变事件。manager.listen(new MyPhoneStateListener(),
* PhoneStateListener.LISTEN_CALL_STATE);这里的PhoneStateListener.LISTEN_CALL_STATE就是我们想要
* 监听的状态改变事件,初次之外,还有很多其他事件哦。
* 第三步:通过extends PhoneStateListener来定制自己的规则。将其对象传递给第二步作为参数。
* 第四步:这一步很重要,那就是给应用添加权限。android.permission.READ_PHONE_STATE

TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
//设置一个监听器
}
}
PhoneStateListener listener=new PhoneStateListener(){

@Override
public void onCallStateChanged(int state, String incomingNumber) {
//注意,方法必须写在super方法后面,否则incomingNumber无法获取到值。
super.onCallStateChanged(state, incomingNumber);
switch(state){
case TelephonyManager.CALL_STATE_IDLE:
System.out.println("挂断");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
System.out.println("接听");
break;
case TelephonyManager.CALL_STATE_RINGING:
System.out.println("响铃:来电号码"+incomingNumber);
//输出来电号码
break;
}
}

‘伍’ android 编程 按住 按一下 松开 分别如何监听

分别实现listener并 为按键set 相应的listener.
长按是onLongClickListener
短按是onClickListener
放开好像没有这个接口,那就只能用onTouch了, event.getAction() == MotionEvent.ACTION_UP 就是放手了

‘陆’ Android 超简单实现网络状态的监听

我们做项目的时候,不可避免的要做网络状态的监听,一般我们都是抽取出一个工具类来实现,比如:

细致的你当然还会再写一个判断网络类型的方法,反手再来一个例:

然后就可以在相应的操作前进行判断网络的判断:

但是这样做也有些问题:

接下来就是本文的重点,如何通过 NetStatusBus 这个库来解决以上问题,让你的网络状态监听变得前所未有的简单粗暴。

到这里就已经结束了,你的所有网络操作已经都可以清晰优雅的在订阅方法中进行处理了,当然你也可以继续往下看。

订阅方法必须填写一个NetType参数,可以通过NetType的值来判断当前网络类型。

@NetSubscribe中 netType为可选值,可以设置订阅的类型,可选值类型如下:

NetType.AUTO

这是默认值,任何网络状态发生变化,该类型订阅者都会被回调。同时会传入NetType参数告知你当前的网络类型,示例如下:

只要当前是由 WIFI 改变引发的网络状态变化,该类型订阅者都会被回调。同时会传入NetType参数告知你当前的网络类型,示例如下:

只要当前是由移动网络改变引发的网络状态变化,该类型订阅者都会被回调。同时会传入NetType参数告知你当前的网络类型,示例如下:

NetType.NONE

只有当网络丢失时,该类型订阅者才会被回调。

有人会觉得,我用个库爽就行了管它的原理干什么?

你放心,我只是小小的描述一下实现方式。

原理简单来说,就是在全局初始化的时候就绑定对网络的变化监听。然后将进行注册的父类所有的订阅方法保存至集合中,这里涉及到一些方法的校验,最后在网络状态发生改变时利用 Java 反射机制遍历执行所有订阅方法。熟悉 EventBus 的小伙伴已经看出来了这里借鉴了一小部分 EventBus 的思想。

回到第一步,那么具体是如何绑定对网络状态变化的监听呢?

以前我们是通过注册广播来实现绑定网络变更的监听,在Android 7.0 以后,Google 基于性能和安全原因对广播进行了很多限制,比如监听网络变更的广播 android.net.conn.CONNECTIVITY_CHANGE 使用静态注册的方式则无法生效,而动态注册的方式虽然可以生效但毕竟不是最优解。

同样出于性能和安全,以及拥抱变化的角度,最终我们还是使用官方推荐的方式,利用 ConnectivityManager.NetworkCallback 来进行网络变化的监听,这是在Android 5.0即android api 21推出的API,目前Android 5.0以上的市场占有率在 85%以上,随着国内各大厂商正在积极的推进适配普及Android Q,这个比例还会进一步增大,所以个人人认为无需过于担心低版本适配。

使用的时候出现这个问题是由于少添加了权限。

Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10513 nor current process has android.permission.ACCESS_NETWORK_STATE.

java.lang.RuntimeException: Unable to create application com.jiyun.wanandroid.WanApplication: java.lang.SecurityException: ConnectivityService: Neither user 10513 nor current process has android.permission.ACCESS_NETWORK_STATE.

加上这几个权限就好了:

附上原文地址: https://www.jianshu.com/p/2fea980b3e56

‘柒’ android开发密码解锁的api

我写过一个类似于 windows多用户启动的 写了个开头 实现了开机启动以及屏蔽各种按键,所以lz可以参考一下如何实现应用的开机启动,这个是要改xml的。
然后解锁后输入密码 没做过 难道要写一个service来监听解锁么??

热点内容
java中set集合 发布:2025-02-07 22:43:34 浏览:30
播放这个wifi密码是多少 发布:2025-02-07 22:34:54 浏览:99
视频存储时间长了有雪花 发布:2025-02-07 22:24:34 浏览:568
哈佛f7x怎么区分配置 发布:2025-02-07 22:22:34 浏览:771
广州python培训 发布:2025-02-07 22:22:26 浏览:199
陆金所的交易密码是什么 发布:2025-02-07 22:19:25 浏览:320
如何删除平板储存密码 发布:2025-02-07 22:10:29 浏览:747
php微信授权登录 发布:2025-02-07 22:10:27 浏览:378
怎样编程时钟 发布:2025-02-07 21:59:38 浏览:562
夸克编程 发布:2025-02-07 21:43:43 浏览:530