我的Android appliaction需要重播BOOT_COMPLETED
广播。但是,我希望将我的应用程序安装到外部存储器中。我知道只有安装在内部存储中的应用程序才能接收到这个广播,所以我想知道有没有办法从应用程序安装广播reciver到内部存储?
我试图通过以下清单来实现这一目标:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example"
android:versionCode="1"
android:installLocation="preferExternal"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="17"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<application
android:name=".MyApplication"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:icon="@drawable/app_icon">
<receiver android:name="com.example.BootCompletedReceiver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED"
android:installLocation="internalOnly">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.USER_PRESENT"/>
</intent-filter>
</receiver>
<activity
android:name=".activities.SplashActivity"
android:screenOrientation="portrait"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
...............
</application>
</manifest>
但这似乎不起作用。有任何想法吗? 或许我可以通过其他方式处理这个广播?