android.intent.action.PHONE_STATE有些手机不检测的状态呢?

我使用的广播接收器来监控呼叫详细信息在后台,即使关闭应用程序。 我在索尼Xperia ZR(Android的4.4.4),HTC(Android的2.3.3),MOTO E(Android版​​4.4.1),小蜜注(Android 4.4系统),检查它。 所有这些移动检测PHONE_STATE但在三星手机和华为手机未检测到电话的状态。 我无法弄清楚这个问题。 谁能帮我解决呢?

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.calllogs"> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"></meta-data> <activity android:name="com.calllogs.Splash_screen" android:label="@string/app_name" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.calllogs.MainActivity" android:screenOrientation="portrait"></activity> <receiver android:name=".trackinginfo.CallDurationReceiver"> <intent-filter> <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> <action android:name="android.intent.action.PHONE_STATE" /> </intent-filter> </receiver> </application>

广播接收器

public class CallDurationReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, Intent intent) { Bundle bundle = intent.getExtras(); if (bundle == null) return; // getting incoming call details String state = bundle.getString(TelephonyManager.EXTRA_STATE); if ((state != null) && (state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING))) { Log.v("Phone State 1",""+state); } // getting outgoing call details else if (state == null) { Log.v("Phone State 2",""+state); } // called when the call is answered else if (state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_OFFHOOK)) { Log.v("Phone State 3",""+state); } // called when the call is ended else if (state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_IDLE)) { Log.v("Phone State 4",""+state); } } }

分类:安卓 时间:2012-01-01 人气:0
分享到:

相关文章

  • 是否意图Android的保证秩序? 2013-10-24

    当发送两个目的(一张通过startService紧接着又通过startActivityForResult为了示例的),确实机器人保证第意图(服务)的第二个(活性)之前处理? 更具体地说是在这种情况下,它保证Service.onStartCommand是之前称为Activity.onCreate 这是假设一切都相同的过程,从几个主要的线程,以便线程问题不干扰中运行. 我知道Android不保证为单一目的的处理顺序(收件人的顺序是不能保证,但可以受到意图过滤器的优先级),但我找不到任何提意图之间的顺

  • 如何浏览特定意图Android的文档? 2014-06-05

    我一直在使用柔性的几年,但我是新来的Andr​​oid系统. 我了解的活动,接收器和服务. 我需要在Android的文档与导航一些帮助. 我怎样才能找出关于被解雇的意图与特定类文档,什么是特定意图的细节. 让我给你一个例子阐明我的问题. 我想知道我怎么能收到新短信. 我知道,我必须听在广播接收器的一些意图和一些权限在manifest文件以复加. 我去的文档,并期待在某些意图android.telephony.SmsManager ,但我无法找到它. 因此,通过在网上搜索,我发现"android.

  • Android的广播接收器的问题 2013-03-08

    即时通讯开发一个应用程序,它阻止所有打出的电话,然后封锁调用之后,又一个新的呼叫发起一个预定值... 我的问题是,当我使用一个BroadcastReceiver阻止呼叫,这是我编程发起第二个呼叫也被阻塞... 任何挡住了第一个电话,或其他任何方法或技术后注销广播方法? 这是我的广播接收器,我实现我的应用程序... public class CallListenerActivity extends BroadcastReceiver { Uri uri; @Override public void

  • Android的广播接收机和意图过滤器 2012-08-09

    我是新到Android platform.please帮我广播接收器和意图过滤器的行为在android.please在简单的线条或提前example.thanks解释... --------------解决方案------------- 广播接收器是一类在你的Android项目负责接收所有的意图,这是由其他活动发送使用android.content.ContextWreapper.sendBroadcast(Intent intent) 在你receicving活动的清单文件,你必须声明这是你的

  • Android的广播接收器,没有意图过滤器 2012-11-17

    我遇到在AndroidManifest.xml是这样的: <receiver android:name="com.testco.test.TestReceiver"/> 以上是TestReceiver延伸的广播接收器类. 我以为接收器将接收所有的意图,但显然它没有,它不工作,除非我把它添加意图过滤器标签. 那么它有什么作用,如果它没有意图过滤器? 它是一个笔误还是真的做点什么? 更新:我想通了这一点与这个链接想有一个广播接收器没有过滤的帮助 而不是调用与通常的字符串标识符广

  • 机器人:背景和android scaleType 2012-07-06

    上的布局我要缩放的背景图像(保持其纵横比),获取创建页面时分配的空间. 任何人有任何想法如何做到这一点? 我使用layout.setBackgroundDrawable()和正在使用BitmapDrawable来setGravity的剪裁和填充,但没有看到任何缩放选项. --------------解决方案------------- 要自定义背景图片的缩放创建这样的资源: <?xml version="1.0" encoding="utf-8"?> &l

  • 为什么这条线的xmlns:机器人=“htt​​p://schemas.android.com/apk/res/android”必须是在布局XML文件中的第一个? 2013-03-31

    为什么XML布局文件需要这一行? 任何人都可以给我一个解释? 我试图理解,但没有成功,所以我在这里发布这个问题. --------------解决方案------------- 在XML中,的xmlns声明命名空间. 事实上,当你这样做: <LinearLayout android:id> </LinearLayout> 而不是调用的android:id ,XML将使用http://schemas.android.com/apk/res/android:id是唯一的. 通常这个页面

  • Android的广播接收器和启动意图 2013-07-16

    public class SessionManager extends BroadcastReceiver{ Date timeOff; Date timeOn; @Override public void onReceive(Context context, Intent intent) { if( "android.intent.action.SCREEN_OFF".equals(intent.getAction())) { Log.i("MobileViaNetRece

  • Android的广播reciver和意图过滤器 2014-11-23

    我是新到Android platform.please帮我广播接收器和意图过滤器如何在android系统的行为. 是否有任何其他方式播出比其他 public class OutGoingBrodcast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub System.err.println(

  • Android的 - 广播接收器的距离的onReceive崩溃的意图? 2012-03-28

    所以我想开始从我的onReceive功能的新活动在广播接收器,但我似乎崩溃. 这里没有进一步再见代码如下: 公共无效的onReceive(上下文的背景下,意图意图){ //... other stuff that's not relevant Intent j = new Intent(context, myClass.class); context.startActivity(j); //If I comment the above two lines out and replace with

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.767 (s). 10 q(s)