0

私はアンドロイドが初めてです。ブロードキャスト レシーバの概念は理解できましたが、sendBroadcast(Intent i). の概念は理解できませんでした。

public class OOVOOActivity extends Activity {
    /** Called when the activity is first created. */
    public static int count = 0;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
        addShortcut();
 }

    private void addShortcut(){  
        Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

        // Shortcut name
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));  
        shortcut.putExtra("duplicate", false);  // Just create once

        // Setup current activity shoud be shortcut object 
        ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());  
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));  

        // Set shortcut icon
        ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.search);  
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);  

        sendBroadcast(shortcut);  
    }

いくつか質問がありますが、

  1. 上記のコードでは、トースト メッセージは使用されていませんが、アプリを実行すると、トースト メッセージが表示されます。
  2. sendBroadcast(shortcut);を見ることができました。、基本的に誰がこの放送を聞くか。

私の疑いを晴らしてください。ありがとう

4

1 に答える 1

1

sendBroadcast(shortcut); を見ることができました。、基本的に誰がこの放送を聞くか。

他のいくつかのアプリまたはアプリ。このブロードキャストを受信するアプリはありません。999 個のアプリがこのブロードキャストを受信する可能性があります。それは、ユーザーと他のアプリの開発者次第です。

この場合、com.android.launcher.action.INSTALL_SHORTCUTブロードキャストに応答するアプリがデバイス上に 1 つ以上あると想定しています。注意してくださいcom.android。これは、このIntentアクションが Android SDK の一部ではないことを意味します。com.androidAndroid 環境の一部に使用されます。結局のところ、このIntentアクションは文書化されていないため、すべてのデバイスと Android OS バージョンで機能する場合と機能しない場合があります.

それがどのように来るのか説明してください

あなた以外の開発者は、Toastメッセージを表示するコードを書くことができます。Toastブロードキャストに応答してメッセージを表示するコードを作成することもできますIntentcom.android.launcherテスト環境には、おそらくアプリケーション内にそのようなコードが含まれていることが判明しました。

トースト メッセージを非表示にする方法も教えてください

あなたはそうしない。

于 2012-08-01T10:56:21.720 に答える