z本睿
z本睿
  • 发布:2018-01-09 11:33
  • 更新:2021-11-11 10:25
  • 阅读:2809

安卓获取手机拨打状态和号码

分类:Native.js
NJS
var main = plus.android.runtimeMainActivity();  
                var Context = plus.android.importClass("android.content.Context");  
                var telephonyManager = plus.android.importClass("android.telephony.TelephonyManager");  
                var telephonyManager=plus.android.runtimeMainActivity().getSystemService(Context.TELEPHONY_SERVICE);  
                var receiver=plus.android.implements('io.dcloud.android.content.BroadcastReceiver', {  
                        onReceive: function(context, intent) { //实现onReceiver回调函数  
                             plus.android.importClass(intent);  
                             console.log(intent.getAction());  
                            var telephonyManager = plus.android.importClass("android.telephony.TelephonyManager");  
                            var telephonyManager=plus.android.runtimeMainActivity().getSystemService(Context.TELEPHONY_SERVICE);  
                            var phonetype=telephonyManager.getCallState();  
                            var phoneNumber = intent.getStringExtra(telephonyManager.EXTRA_INCOMING_NUMBER);  
                            /**  
                             * public static final int CALL_STATE_IDLE = 0; //空闲状态    
                             * public static final int CALL_STATE_RINGING = 1; //振铃状态    
                             * public static final int CALL_STATE_OFFHOOK = 2; //至少有一个通话存在    
                             */  
                            console.log("phonetype:"+phonetype);  
                            console.log("phonetype:"+phoneNumber);  
                            if(phonetype==2){  
                                main.unregisterReceiver(receiver);  
                            }  
                        }  
                        });  
                var IntentFilter = plus.android.importClass('android.content.IntentFilter');  
                var filter = new IntentFilter();  
                filter.addAction(telephonyManager.ACTION_PHONE_STATE_CHANGED); //监听开关  
                main.registerReceiver(receiver, filter); //注册监听 

亲测可用!

1 关注 分享
金刚腿

要回复文章请先登录注册

3***@qq.com

3***@qq.com

我把代码直接放在 html页面中script 标签中,代码里面没有输出
2021-11-11 10:25
Mankii

Mankii

我把这段代码放在main.js中,运行后到手机后,拨打电话,但是控制台没有打印应有的监听提示消息。请问是不是需要注意什么呢?(控制台也没有报错)
2019-09-10 09:51
51ZionLin

51ZionLin

0.0 我上次也实现了IOS的一个
2018-01-09 17:19