2017-06-25 36 views
0

我有一些BroadcastReceiver名爲LocalTokenRequestReceiver在我的應用程序。 我試圖從另一個應用程序發送廣播。BroadcastReceiver不能通過AndroidManifest工作

這種方法工作得很好:

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     /* ..... */ 
     LocalTokenRequestReceiver localTokenRequestReceiver = new LocalTokenRequestReceiver(); 
     IntentFilter localTokenRequestFilter = new IntentFilter(getString(R.string.local_token_request)); 

     localTokenRequestFilter.addCategory(getString(R.string.broadcast_category)); 
     registerReceiver(localTokenRequestReceiver, localTokenRequestFilter); 
    } 
} 

但它不以這種方式工作:

<receiver 
    android:name=".LocalTokenRequestReceiver" 
    android:enabled="true" 
    android:exported="true"> 
    <intent-filter> 
     <action android:name="@string/local_token_request" /> 

     <category android:name="@string/broadcast_category" /> 
    </intent-filter> 
</receiver> 

爲什麼這可能是這樣?我正在Android 4.2上測試我的應用程序。

回答