android 4.x receiver、services無法啓動


實現一個Receiver,

由於android 更新的安全機制, android 4.0 一個APK包中如果沒有actvity,只有Receiver或Services,則services 不能啓動。Receiver也不會啓動,收不到廣播。


Apk中需要增加一個Activity, Receiver纔可以啓動,接收廣播。

這個應該是Google對Android中的流氓軟件,系統性能的考慮吧

   <application
        android:debuggable="true"
        android:enabled="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
 <!--        
在Android 4.0的設備中。註釋這個Activity之後,Receiver就無法接收到廣播。
在Android 2.x中,Receiver就可以接收到。 
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 -->
        <receiver android:name="OutCallReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </receiver>
    </application>

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章