2

アプリに Tasker サポートを実装しようとしています。マニフェスト ファイルでインテント フィルターを宣言し、レシーバーを記述しましたが、機能しません (何もログに記録されず、アプリはこれらのインテントに反応しません)。

次のようにタスカーからインテントを送信してテストしました。

ACTION: START_SERVICE

package: com.example.appname

マニフェスト宣言:

<receiver android:name="ExIntentReceiver">  
  <intent-filter>
    <action android:name="com.example.appname.START_SERVICE" />
    <action android:name="com.example.appname.STOP_SERVICE" />
  </intent-filter>
</receiver>

レシーバー:

Public class ExtIntentReceiver extends BroadcastReceiver {


 @Override
   public void onReceive(Context context, Intent intent) {
      String action = intent.getAction();
  if(action.equals("com.example.appname.START_SERVICE"))    {
        Log.v("service", "is started");
      } else if(action.equals("com.example.appname.STOP_SERVICE"))  {
          Log.v("service", "is stopped");
      }

   }

}
4

1 に答える 1

1

実際、理由かもしれない場所が 1 つあります。インテントを送信する際にパッケージ名を指定com.example.appnameしていますが、AndroidManifest.xml には何が指定されているのでしょうか。インテントでパッケージ名を使用する場合、この名前は受信アプリの AndroidManifest.xml 形式のパッケージ名と一致する必要があります。

于 2013-04-19T19:37:13.480 に答える