2014-05-08 69 views
0

什麼,我要做的就是開始我的應用程序時,在我這裏Android手機耳機(插入)是我的代碼,但沒有任何反應:關於廣播接收器使用行動啓動意圖

public class BootBroadcast extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
     context.startService(new Intent(context, TestService.class)); 
     Intent newIntent = new Intent(".android.intent.action.MAIN"); 
     context.startActivity(newIntent); 
    } 

} 

和這裏是清單

<activity 
      android:name="com.example.talktome.SplashScreen" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <receiver android:name=".BootBroadcast"> 
    <intent-filter> 
     <action android:name="android.intent.action.HEADSET_PLUG"/> 
     <category android:name="android.intent.category.DEFAULT" />    
    </intent-filter> 
    </receiver> 

請任何建議???

+0

任何東西logcat的有意思嗎? – nikis

+0

nop !!什麼都沒有.. – user3534834

+0

嘗試在'onReceive'方法中添加'Lod.d(...)'調用。你看到它在logcat中嗎? – nikis

回答

0

您是否在當前活動中添加了此片段?

IntentFilter receiverFilter = new IntentFilter(
      Intent.ACTION_HEADSET_PLUG); 
    BootBroadcast receiver = new BootBroadcast(); 
    registerReceiver(receiver, receiverFilter); 

而且添加這個標誌BootBroadcast類中

newIntent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

在清單中添加此爲次活動

<activity 
      android:name="com.example.talktome.TestService" 
      android:label="@string/app_name" /> 
+0

是的,我做了,但現在它給了我別的東西..它崩潰和logcat說:引起:android.content.ActivityNotFoundException:未發現活動發現處理意圖{act = .com.example .talktome.HomeScreen} – user3534834

+0

您是否在清單中聲明瞭該活動? –

+0

是的,我確定,但它給了我以下logcat – user3534834