- 浏览: 384846 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
longxishui12:
这个一定要顶得高高的。
[Android UI界面] android中仿iphone实现listview的反弹效果 -
klower.jiang:
Good job, Thank you so much!
能够兼容ViewPager的ScrollView -
ZSRTFAT:
...
file size 的大小计算
调用紧急电话,
解决紧急电话界面 按home键,回到锁屏界面的
Button bt1 = (Button) findViewById(R.id.bt1); bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d("test", "___" + isTopActivy()); ComponentName comp = new ComponentName("com.android.phone", "com.android.phone.EmergencyDialer"); Intent intentM = new Intent(); intentM.setComponent(comp); startActivity(intentM); Intent intent = new Intent(); intent.setClass(PhoneDemoActivity.this, PhoneService.class); intent.setAction(PhoneService.LOCK); startService(intent); } }); Button bt2 = (Button) findViewById(R.id.bt2); bt2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(PhoneDemoActivity.this, PhoneService.class); intent.setAction(PhoneService.CANCEL_LOCK); startService(intent); } });
问题。
得到栈顶的activity :使用SingleTask加载模式:
public String isTopActivy(){ ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); List<RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1); String cmpNameTemp = null; if(null != runningTaskInfos){ cmpNameTemp = (runningTaskInfos.get(0).topActivity).toString(); Log.e("cmpname","cmpname:"+cmpNameTemp); } return cmpNameTemp; }
service每隔500毫秒启动服务检测:
public static final String LOCK = "SET_LOCK" ; public static final String CANCEL_LOCK = "CANCEL_LOCK" ; @Override public IBinder onBind(Intent arg0) { return null; } @Override public void onCreate() { super.onCreate(); } @Override public void onDestroy() { super.onDestroy(); } @Override public void onStart(Intent intent, int startId) { super.onStart(intent, startId); if(intent != null){ String action = intent.getAction(); Log.d("test", "action_" + action); if(action.equals(LOCK)){ setAlarm(); String phoneEm = isTopActivy(); String pStr = "ComponentInfo{com.android.phone/com.android.phone.EmergencyDialer}" ; String lStr = "ComponentInfo{com.phone/com.phone.PhoneDemoActivity}" ; String launch2 = "ComponentInfo{com.android.launcher/com.android.launcher2.Launcher}" ; // if(phoneEm.equals(launch2)){ if(phoneEm.equals(pStr) || phoneEm.equals(lStr)){ }else { Intent intent2 = new Intent(); intent2.setClass(this, PhoneDemoActivity.class); intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent2); } Log.d("test", "!phoneEm.equals(phoneEm)_" + !phoneEm.equals(phoneEm)); Log.d("test", "!phoneEm.equals(lStr)_" + !phoneEm.equals(lStr)); Log.d("test", "phoneEm_" + phoneEm); }else if(action.equals(CANCEL_LOCK)){ cancelAlarm(); } } } private int i = 0; private int j = 0; private void setAlarm(){ Log.d("test", "setAlarm_" + i++); Intent i = new Intent(); i.setClass(this, PhoneService.class); i.setAction(LOCK); PendingIntent pi = PendingIntent.getService(this, 0, i, 0); AlarmManager alarmMgr = (AlarmManager)getSystemService(ALARM_SERVICE); alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + 500,500, pi); } private void cancelAlarm(){ Log.d("test", "cancelAlarm_" + j++); Intent i = new Intent(); i.setClass(this, PhoneService.class); i.setAction(LOCK); PendingIntent pi = PendingIntent.getService(this, 0, i, 0); AlarmManager alarmMgr = (AlarmManager)getSystemService(ALARM_SERVICE); alarmMgr.cancel(pi); } /***/ public String isTopActivy(){ ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); List<RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1); String cmpNameTemp = null; if(null != runningTaskInfos){ cmpNameTemp = (runningTaskInfos.get(0).topActivity).toString(); // Log.e("cmpname","cmpname:"+cmpNameTemp); } return cmpNameTemp; }
- PhoneDemo.rar (149.7 KB)
- 下载次数: 0
发表评论
-
drableleft
2012-12-07 15:11 1069Drawable close = getResource ... -
serviceToactivity
2012-10-08 09:47 867serviceToactivity 在Service中 ... -
数据库
2012-09-29 10:17 817判断当前数据库表中的字段是否存在: public ... -
cache保存和读取
2012-09-26 16:10 906读取: http://blog.csdn.net/An ... -
SAX PULL解析
2012-08-24 11:05 942SAX,本地解析: try { S ... -
android sd卡状态、路径、可用空间,内存
2012-07-18 10:19 1652转载:android sd卡状态、路径、可用空间,内存 ... -
sd卡监听的问题
2012-07-16 15:53 1092http://www.cnblogs.com/error404 ... -
Android 文件打开方式
2012-07-13 09:29 1183转载:http://blog.csdn.net/weich_j ... -
深入理解android 卷II样章发布
2012-07-05 11:39 812转载: 深入理解android 卷II样章发布 h ... -
得到栈顶的activity
2012-07-03 14:43 1161得到栈顶的activity: private Stri ... -
判断apk是否安装的sd卡,还是手机内存
2012-06-29 15:36 3550一、判断apk是否安装的sd卡,还是手机内存 P ... -
PackageInfo的操作
2012-06-18 16:40 1012一、判断当前SD卡是否存在: public stati ... -
dazhongdianping
2012-06-07 16:16 1172动画: http://www.apkbus.com/andr ... -
删除list的数据
2012-06-05 10:59 1249转载: http://www.cnblo ... -
getCacheDir的用法
2012-06-01 14:43 5352转载: http://www.cnblogs.com/ ... -
读写文件
2012-05-31 16:14 1092http://blog.csdn.net/feilong ... -
根据包名获得APP的ICON
2012-05-30 14:45 3468根据包名获得APP的ICON 1、 Drawable ... -
瀑布流
2012-05-30 14:42 913瀑布流 -
Android中获取应用程序(包)的信息-----PackageManager的使用(
2012-05-29 18:19 1278Android中获取应用程序( ... -
本地语言
2012-05-29 14:32 975public String getLocaleLanguage ...
相关推荐
其中,当收到`PHONE_NEW_RINGING_CONNECTION`类型的`Message`时,会调用`onNewRingingConnection()`方法,该方法进一步调用`startIncomingCallQuery()`,用于查询用户设定的铃声信息,如系统预设铃声或自定义铃声。...
在Android操作系统中,Phone模块是核心组件之一,负责处理电话相关的功能,包括拨打电话、接听电话、管理联系人等。Contacts模块则是用户与联系人数据交互的主要界面,它允许用户查看、编辑和呼叫联系人。本文将对这...
在此过程中,获取传入的电话号码并根据`PhoneApp`实例确定电话类型等信息,最后更新并启动接听屏幕。 6. **C/C++部分**: - **初始化事件循环**:通过调用`RIL_startEventLoop`来启动事件循环线程。 - **启动串口...
Android Phone 模块是Android系统中的一个核心组件,它主要负责管理手机的通信功能,包括拨打电话、接收来电、短信处理等。本文将针对Phone模块进行深入分析,主要内容涵盖以下几个方面: 1. **从Java端发送AT命令...
总结来说,AIDL是Android进程间通信的关键技术,它使得服务端可以提供跨进程调用的接口,而“EndCall”和“AIDLService”则是具体应用场景的实例,分别展示了如何使用AIDL创建服务以及如何实现挂断电话的功能。...
在`OutgoingCallBroadcaster`的`onCreate()`中,会检查接收到的ACTION和电话号码,对号码进行处理(例如,转换字母到数字,移除分隔符),并判断是否为紧急号码。 如果满足拨打电话的条件,将会启动InCallScreen...
在实际应用中,系统拨打电话功能常用于紧急呼叫、客服热线、好友联系等场景,极大地方便了用户的生活和工作。 总的来说,系统拨打电话功能虽然看似简单,但在实际开发中需要考虑的因素却很多,包括但不限于权限管理...
在Android平台上实现拨打电话并同时让屏幕保持黑屏或关屏的功能,对于一些特定的应用场景,比如紧急呼叫或者隐私保护,具有一定的实用价值。本文将详细介绍如何实现这一功能,并提供相应的源码分析。 首先,我们...
- **短号转换**:将短号(如紧急服务号码)转换为完整的国际电话号码。 - **区号提取**:从电话号码中提取国家/地区代码和区号等信息。 4. **使用步骤** - **集成**:将`libPhoneNumber-iOS-master`项目导入到...
在实际项目中,电话支持库可以用于构建各种电话和短信相关的应用,如电话会议应用、紧急呼叫系统、智能语音助手,甚至是可以自动应答和处理短信的机器人系统。由于其易用性和强大的功能,这个库对于E语言的开发者来...
结合以上两点,我们可以实现一个功能完善的手机卫士应用,其中自定义对话框用于提示用户或获取输入,而拨打电话功能则用于快速连接到紧急服务或其他支持热线。在实际项目中,还需要考虑错误处理、UI优化以及不同设备...
- `ITelephony`:这是一个远程过程调用接口,应用程序通过该接口可以进行拨打电话、挂断电话等操作。 - `Phone`:这个类代表了一个物理电话设备,提供了接听、挂断电话等方法。 2. **数据传输层**:Telephony还...
另外,iOS对直接调用拨打电话和发送短信有严格的限制,防止滥用,因此在使用这些功能时需谨慎,遵循Apple的App Store审核指南。 总结来说,“SendTextingAndMakeAPhoneCall”这个项目旨在展示如何利用iOS SDK中的`...
总结,Android 自动拨号源码主要涉及拨号器接口调用、电话管理器服务交互、后台服务与 Handler 的使用,以及用户界面的实时反馈。理解这些核心知识点,开发者就能构建自己的自动拨号应用,满足各种场景的需求。在...
这个函数会调用wx.makePhoneCall方法,方法中需要传入一个对象参数,其中包括要拨打的电话号码(phoneNumber)属性。在wx.makePhoneCall方法执行后,会分别根据拨号成功或失败给出提示。具体的函数实现如下: ```...
请注意,自Android 6.0(API级别23)起,拨打电话需要在运行时请求`CALL_PHONE`权限。 **发送短信** 发送短信同样依赖于`Intent`,但涉及到的是`SmsManager`类。以下是基本步骤: 1. 获取`SmsManager`的实例,它...
这一步骤是为了确保紧急电话的优先处理和合规性。然后,Intent的ACTION被更新,并且Intent被传递给`InCallScreen`类,启动这个Activity。 `InCallScreen.java`位于`/packages/Phone/src/com/android/phone`目录下,...
【标题】"Twilio-Phone-Dialer"项目是一个基于Twilio API开发的电话自动拨号器。这个项目的核心功能是利用Twilio的服务来实现自动拨打预设的电话号码,通常用于业务呼叫中心、客户服务或者自动化通知场景。 【描述...
- **PhoneApp**: 这是Android通话服务的核心,它负责管理和控制所有与通话相关的功能,包括连接、挂断、切换和处理来电等。 - **通话状态**: IDLE表示无通话行为,RINGING表示有来电或呼叫等待,OFFHOOK表示至少...