2016-04-22 58 views
0

我在我的應用程序中使用廣播接收器,它在應用程序打開時處於活動狀態以及應用程序處於關閉狀態。我需要的只是在應用程序打開時以及在特定活動時激活此廣播接收器。如何僅在Android中的APP背景中激活Broadcast Receiver?

這裏是我的

public class Receiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
    // Check if the application is install or uninstall and display the message accordingly 
    if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) { 
     // Application Install 
     Log.e("Package Added:-", intent.getData().toString()); 

    } else if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) { 

     Log.e("Package Removed:-", intent.getData().toString()); 
    } else if (intent.getAction().equals("android.intent.action.PACKAGE_REPLACED")) { 
     Log.e("Package Replaced:-", intent.getData().toString()); 
    } 


} 
+0

見我對這個職位的答案:http://stackoverflow.com/a/36665760/4706693 – NSimon

+1

在註冊的onResume廣播你想要的活動,在onPause註銷它相同的活動。有關更多信息,請參閱官方文檔 –

回答

0

例如:

@Override 
protected void onPause() { 

    // Unregister since the activity is not visible 
    LocalBroadcastManager.getInstance(this).unregisterReceiver(mReceiver); 
    super.onPause(); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 

    // Register mMessageReceiver to receive messages. 
    LocalBroadcastManager.getInstance(this).registerReceiver(mReceiver, 
                  new IntentFilter(
                    YourBroadcastReceiver.class 
                      .getSimpleName())); 
} 
相關問題