0

ユーザーが他のことをしている間に、選択したファイルをアップロードするために使用するサービスがあります。アプリケーションが指示すると開始し、アプリが指示すると停止します。しかし、何らかの理由で、他のアプリを使用しているときに、一見ランダムな時間にサービス開始通知が表示されます。サービスを開始するように指示したものを特定する方法はありますか?

Service を拡張し、UploadScreenActivity にバインドされているという点で標準的なサービスです。

onCreate は非常に単純です。

public void onCreate() {
    instance = this;
    if(connectivityManager == null){
            connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    }
    mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

    Toast.makeText(this, "Service started", Toast.LENGTH_SHORT).show();
}

そして、その「サービス開始」通知は、他のアプリケーションをナビゲートしている間、一見ランダムなタイミングで表示されます。

私のサービスのコードは、サービス ドキュメントのローカル サービス サンプルに基づいています: http://developer.android.com/reference/android/app/Service.html

4

2 に答える 2

0

他のアプリがサービスを暗黙的に開始できるようにするサービスのインテント フィルターを定義しましたか。また、Android 開発者からのこの参照が役立つ場合があります。値が「false」の場合、同じアプリケーションのコンポーネントまたは同じユーザー ID を持つアプリケーションのみがサービスを開始またはバインドできます。

于 2012-12-03T05:36:01.297 に答える
0

システムが単独でサービスを開始することはありません。アプリはブロードキャスト レシーバーで外部から何かをリッスンしますか? そうでない場合は、コードのどこかで開始している必要があります。ロギングを強化し、監視します。または、イベントをエラー ログ サービス (bugsense、acra など) に投稿します。

コードのどの部分がサービスを開始しますか? 私はそこから始めます。オッカムのかみそり。

于 2012-12-03T05:11:07.603 に答える