2015-09-07 67 views
0

爲什麼我的廣播沒有收到這個代碼? 我發佈我的代碼如下。當我運行這個時,我可以看到發送者廣播意圖。 但是在接收端沒有反應。 我已經測試棒棒糖AVD。爲什麼我的廣播沒有在這段代碼中收到?

  • 接收機清單
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="kr.co.company.mybroadcastreceiver" > 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <receiver android:name=".MyBroadcastReceiver"> 
      <intent-filter> 
       <action android:name="kr.co.company.START_WEB" /> 
      </intent-filter> 
     </receiver> 
    </application> 

</manifest> 
  • 接收機代碼

    public class MyBroadcastReceiver extends BroadcastReceiver { 
        @Override 
        public void onReceive(Context context, Intent intent) { 
         Uri uri = Uri.parse("http://www.google.com"); 
         Intent intent1 = new Intent(Intent.ACTION_VIEW, uri); 
         intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
         context.startActivity(intent1); 
        } 
    } 
    
  • 發送方碼

    public class MyBroadcastSender extends Activity { 
    
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_my_broadcast_sender); 
    
    Button click = (Button) findViewById(R.id.click); 
    click.setOnClickListener(new Button.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Intent intent = new Intent(); 
         intent.setAction("kr.co.company.START_WEB"); 
         sendBroadcast(intent); 
        } 
    }); 
    } 
    } 
    

回答

0

如果另一個應用程序正在發送的意圖,你應該在清單中添加這個到接收器的定義:

android:exported="true"

+0

謝謝。但它仍然不起作用。 – myoldgrandpa

相關問題