2016-03-07 51 views
0

我知道,當我定義一個廣播接收器從清單意圖過濾器時我可以定義類別它是可選的。什麼是定義一個接收器的類別參數

<receiver android:name=".PushMessageReceiver" > 
    <intent-filter> 
      <!-- Receives the actual messages. --> 
      <category android:name="com.test.myAppname" /> 
      <action android:name="com.test.client.MSGRECEIVE" /> 
    </intent-filter> 
</receiver> 

我GOOGLE了,但不能得到它的是加入類別或如何我可以用它的確切點。我很欣賞給我一些例子。

回答

-2

MainActivity.java

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
/** 
* send 
* 
*/ 
public class MainActivity extends Activity { 
    private static final String MY_ACTION = "com.chaowen.action.MY_ACTION"; 
    private Button btn; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     btn = (Button)findViewById(R.id.Button01); 
     btn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent intent= new Intent(); 
       intent.setAction(MY_ACTION); 
       //Intent message 
       intent.putExtra("msg", "ha ha"); 
       //send 
       sendBroadcast(intent); 

      } 
     }); 
    } 
} 

MyReceiver.java

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.widget.Toast; 
/** 
* receive  
* 
*/ 
public class MyReceive extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     //get Intent message 
     String msg = intent.getStringExtra("msg"); 
     Toast.makeText(context, msg, Toast.LENGTH_LONG).show(); 
    } 

} 

main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<Button 
    android:text="send..." 
    android:id="@+id/Button01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 
</LinearLayout> 

的AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.chaowen" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="4" /> 

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".MainActivity" 
       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="MyReceive" 
      > 
      <intent-filter> 
      <action 
       android:name="com.chaowen.action.MY_ACTION" /> 
      </intent-filter> 
      </receiver> 
</application> 

+0

我的觀點是你根本沒有提到的類別的使用! – Kenji

+0

分類: 1. CATEGORY_DEFAULT:在android中的默認方式,用作普通的Activity。 2.CATEGORY_HOME:設置爲首頁活動。 3.CATEGORY_PREFERENCE:設置爲首選項。 4.CATEGORY_LAUNCHER:設置爲最高級別的活動,通常與ACTION_MAIN一起使用。 5.CATEGORY_BROWSABLE:設置這個可以通過瀏覽器啓動。 6.CATEGORY_GADGET:設置它可以在另一個Activity中。 – TanLingxiao

+0

請告訴我如何使用它。儘管你知道我使用了我自己的類別。那麼它有什麼好處? – Kenji

相關問題