2016-06-21 44 views
0

我的广播接收器出现问题,一切正常,但几个小时后android 5.0.1正在终止这个过程。这个广播正在接听电话。有什么办法来解决这个问题?我认为我应该每天使用AlarmManager并唤醒这个广播。在此广播接收机中使用此报警管理器的最佳选择是什么?当broadcastReceiver不工作时使用alarmManager

public class IncCall extends BroadcastReceiver { 
      @Override 
public void onReceive(final Context context, Intent intent) { 

String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); 
        Log.d("debug","state: " + state); 

       } 
      } 

清单:

 <receiver android:name="IncCall" 
        android:enabled="true" 
        android:exported="true"> 
      <intent-filter> 
       <action android:name="android.intent.action.PACKAGE_REPLACED" /> 
       <action android:name="android.intent.action.PACKAGE_ADDED" /> 
       <action android:name="android.intent.action.PHONE_STATE" /> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </receiver> 
+0

也就是为什么试图让telephonemanager状态 –

+0

因为我为什么要使用包安装操作 – Algeroth

+0

那么,这可能帮助它。 –

回答

0

使用清单是这样的:

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="18" /> 

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

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <receiver android:name="com.example.MyCallReceiver" > 
     <intent-filter> 
      <action android:name="android.intent.action.PHONE_STATE" /> 
     </intent-filter> 
    </receiver> 
</application> 

+0

你认为它可以解决我的问题? :)我添加了这一行,但我必须等几个小时检查是否正常工作。 – Algeroth

+0

尝试安装应用程序并查看广播是否有效,因为相同的代码正在为我工​​作 –

+0

您是否还试图获取通话状态或应用程序安装卸载状态? –

0

你在清单中添加了这个吗?

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

当然可以。 – Algeroth