2016-08-23 98 views
0

我知道这个问题可能会被其他用户询问播出后...但我无法解决我的问题 我创建一个广播的接收短信,效果不错,但是当用户明确RAM广播不起作用... 我怎么可以创建工作,即使用户明确RAM 广播这是我的代码接收短信明确RAM

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

     Log.i("log","sms received"); 
    // Toast.makeText(App.context,"you have sms",Toast.LENGTH_SHORT).show(); 
     Object[] pdus= (Object[]) intent.getExtras().get("pdus"); 


     SmsMessage sms=SmsMessage.createFromPdu((byte[]) pdus[0]); 
     String body=sms.getMessageBody(); 
     String sender=sms.getDisplayOriginatingAddress(); 
     Log.i("log","sms body"+body); 
     Toast.makeText(App.context,"message from :"+sender,Toast.LENGTH_SHORT).show(); 

     Intent startProgram=new Intent(App.context,MainActivity.class); 
     startProgram.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

     App.context.startActivity(startProgram); 


    } 


} 

和mainfast

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.masiha68.sms"> 
    <uses-permission android:name="android.permission.SEND_SMS"/> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"/> 
    <uses-permission android:name="android.permission.WAKE_LOCK"/> 
    <uses-permission android:name="android.permission.NFC" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 

    <application 
     android:name=".App" 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <service android:name=".RC" 
      android:process=":remote" 
      android:enabled="true" 
      > 

     </service> 

<receiver android:name=".ReceiveSms" 
    android:process=":remote" 
    > 
    <intent-filter> 
     <action android:name="android.provider.Telephony.SMS_RECEIVED"> 

     </action> 
    </intent-filter> 

</receiver> 

    </application> 

</manifest> 

回答

0

在华为公司的设备,你需要让你的应用程序中的“受保护应用程序“保持runni在屏幕关闭后或从后台关闭应用程序后。

对于跳转,

电话管理器 - >省电 - >受保护的应用程序 - >找到你的应用程序和 '启用' 它。