2016-03-03 69 views
0

如何在打开应用程序之前获取通知,或者当我杀死应用程序仍然在移动设备上显示通知时。或者当我开始打电话时,我想要通知但应用程序不应该运行。如何在android工作室中打开应用程序之前获取通知

public class BeaconService extends Service { 
    @Override 
    public IBinder onBind(Intent arg0) { 
     return null; 
    } 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     showNotification(); 
     return START_STICKY; 
    } 
    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     Toast.makeText(this, "Service Destroyed", Toast.LENGTH_LONG).show(); 
    } 
    private void showNotification() { 
     NotificationCompat.Builder mBuilder = 
       (NotificationCompat.Builder) new NotificationCompat.Builder(this) 
         .setSmallIcon(R.drawable.ic_loc) 
         .setContentTitle("Welcome to Brillio") 
         .setContentText("Hello Mansur, Welcome to Brillio.") 
         .setPriority(2) 
         .setOnlyAlertOnce(false); 
     Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
     mBuilder.setSound(alarmSound); 
     NotificationManager mNotificationManager = 
       (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     mNotificationManager.notify(2001, mBuilder.build()); 
    } 
} 

BeaconReceiver.java

public class BeaconReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     Intent intentLunch = new Intent(context, BeaconService.class); 
     context.startService(intentLunch); 

    } 
} 

menifest.xml

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<service 
     android:name=".BeaconService"/> 
     <receiver android:name=".BeaconReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED"/> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
      </intent-filter> 
     </receiver> 
+0

@saeed通知显示但要在打开应用程序之前。 – Alam

+0

@saeed我的实际问题是我希望通知显示在后台服务手段当我开始我的手机,然后通知显示自动。 – Alam

+0

你可以测试show showNotification();正在呼叫或不通过..只需登录 – saeed

回答

相关问题