タスクをスケジュールできるように、Android の起動時に OnReceive メソッドを実行しようとしています。
残念ながら、BradcastReciever の onReceive は、ルート システムにアプリをインストールした場合にのみ起動時に呼び出されます。android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE で問題が解決すると思いました。
しかし、この投稿からは、それは不可能のように見えますが、特定のチュートリアルでは実行可能であると言われています。
Android のインストール場所と BOOT_COMPLETED
私はそのようなことはできないと推測しなければなりません。
それは本当にそうですか、それともSD上の私のアプリで起動時にブロードキャストを取得する方法があります.
それが不可能な場合、android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLEの使用は何ですか
これは、誰かが見たい場合に備えて、私のマニフェストです。私はAndroid 2.3.7でテストしています
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mypackage"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
.............................
<receiver
android:name="mypackage.MyNotificationReceiver"
android:enabled="true"
>
<intent-filter android:priority="1" >
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" />
</intent-filter>
</receiver>
</application>
</manifest>
ありがとう