4

イベントをチェックするプロジェクトに実装Broadcast Receiverしましたが、機能していません。libraryBoot Completed

ブロードキャスト レシーバ クラス :

public class Reciever  extends BroadcastReceiver
{
    public void onReceive(Context context, Intent intent) 
    {
       if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
       {
            Toast.makeText(context, "Device Boot Completed", Toast.LENGTH_LONG).show();
       }
    }
}

AndroidManifest.xml :

    <receiver
        android:name=".Reciever"
        android:enabled="true" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

別のアプリケーション (ライブラリ プロジェクトではない) に同じレシーバーを実装しましたが、正常に動作しています。

4

4 に答える 4

1

BroadcastReceiver は、ライブラリ プロジェクトのマニフェストで定義できません。ホスティング プロジェクトは常にコンポーネントを宣言する必要があります。

Android ライブラリ プロジェクトとアクティビティ

編集:これは、最新の Android スタジオ/gradle ベースのプロジェクトで動作するはずです。

于 2014-02-23T13:31:07.620 に答える
0

次のメソッドをオーバーライドします

@Override public void onReceive(コンテキスト コンテキスト、インテント インテント)

于 2013-10-03T06:28:02.750 に答える
0

スキップしたかもしれません

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

マニフェスト ファイル内

于 2013-10-03T06:13:01.203 に答える
-1

ライブラリ jar を使用するクライアント アプリケーションのマニフェスト ファイルに、受信タグ再起動のアクセス許可を追加する必要があります。

このような;

     <receiver android:name="com.example.library.ReceiverClass"
         <intent-filter>
             <action android:name="android.intent.action.BOOT_COMPLETED" />
         </intent-filter>           
     </receiver>
于 2014-12-04T14:46:25.840 に答える