代码之家  ›  专栏  ›  技术社区  ›  obywan

屏幕关闭时如何获取Android.Telephony.PhoneState?

  •  0
  • obywan  · 技术社区  · 8 年前

    我有个问题和 this one

    基本上我不想在信号丢失时通知用户。我实现了继承自 PhoneStateListener OnServiceStateChanged 方法。另外,我还有一个在后台运行并侦听更改的服务。只要屏幕开着,一切正常。

    OnServiceStateChanged服务状态已更改 当屏幕关闭时。有什么办法 Android.Telephony.PhoneState

    我的代码如下:

    PhoneStateListener

    Service

    2 回复  |  直到 8 年前
        1
  •  0
  •   Bilal H. Hungund    8 年前

    尝试创建BroadcastReceiver类

    https://developer.android.com/guide/components/broadcasts

    AndroidManifest.xml 文件,我想你需要得到以下许可

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

    AndroidManifest.xml文件

        <receiver android:name="//BroadcastReceiver Class Name" android:enabled="true">
            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE">
    
                </action>
            </intent-filter>
        </receiver> 
    
        2
  •  0
  •   Ravi Patel    8 年前

    AndroidManifest.xml 文件,我想你需要得到以下许可

    <uses-permission
                android:name="android.permission.MODIFY_PHONE_STATE"
                tools:ignore="ProtectedPermissions" />
            <uses-permission android:name="android.permission.CALL_PHONE" /> 
    

     <receiver android:name=".services.Blocker">
                <intent-filter android:priority="1000">
                    <action android:name="android.intent.action.PHONE_STATE" />
                </intent-filter>
            </receiver>
    

    拦截器.java

    public class Blocker extends BroadcastReceiver {
    @Override
        public void onReceive(Context context, Intent intent) {
         /* write your code here */
        }
    }