20

それが上にある場合、起動後に自動的にAndroidアプリケーションを起動する方法はあります/sdcardか?

わかりました。おそらく までBroadcastReceiverです。しかし、どのアクションが正しいですか?

ACTION_BOOT_COMPLETED - does not work if it is on the /sdcard (documented)
ACTION_MEDIA_MOUNTED - does not work if it is on the /sdcard (which is undocumented)
ACTION_EXTERNAL_APPLICATIONS_AVAILABLE - does not work, I do not know why
ACTION_USER_PRESENT - does not work if the BroadcastReceiver is registered in AndroidManifest (which is undocumented, but documentation bug has been reported)

ありがとう
ヤン

4

4 に答える 4

1

使ってみて<receiver android:name=".BootCompleteReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.QUICKBOOT_POWERON" /> </intent-filter> </receiver>

この<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

おそらくQUICKBOOT_POWERONがあなたを助けます

于 2015-07-17T14:39:51.900 に答える
1

Google によると、起動時に実行したいアプリを外部ドライブに置くべきではありません。

「システムは、外部ストレージがデバイスにマウントされる前に ACTION_BOOT_COMPLETED ブロードキャストを配信します。アプリケーションが外部ストレージにインストールされている場合、このブロードキャストを受信することはできません。」

http://developer.android.com/guide/topics/data/install-location.html#ShouldNot

于 2015-09-14T22:59:50.360 に答える
1

マニフェストファイルに記載してください。

</uses-permission>    
<receiver android:name=".BootReceiver"
    android:enabled="true"
    android:exported="true"
    android:label="BootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
    </intent-filter>
</receiver>

menifest の子として許可「android.permission.RECEIVE_BOOT_COMPLETED」を提供します。

もう1つ、アプリをSDカードにインストールしてはなりません。

于 2015-07-15T10:40:21.797 に答える