1

私は、HTC Desire HD (Android 2.2) 上のクライアント用の Android アプリケーションを開発しています。このアプリは、アクション BOOT_COMPLETED を使用して、電話の起動時にアプリケーションを自動的に起動します。これはすべて HTC で正常に動作します。

ただし、クライアントは、アプリを実行したい電話は Alcatel onetouch|983 (Android 2.3.7) であると述べています。

この電話にアプリをインストールしましたが、デバイスを再起動してもアプリケーションが起動しません。

Alcatel でデバッグする場合、adb シェルを使用して BOOT_COMPLETED アクションを起動できます。レシーバー クラスはアクションを正常に認識し、適切なコードを起動します。ただし、電話の起動時に起動することはありません。

私の XML マニフェスト

<receiver android:name=".FloReceiver"
            android:enabled="true" >
            <intent-filter android:priority="999" >

                <!-- higher priority than native messaging app -->
                <action android:name="android.intent.action.USER_PRESENT" />
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

私の受信者クラス

public class FloReceiver extends BroadcastReceiver 
{
    public static final String SMS_RECEIVED ="android.provider.Telephony.SMS_RECEIVED";
    public static final String BOOT_COMPLETE = "android.intent.action.BOOT_COMPLETED";

    @Override
    public void onReceive(Context context, Intent intent) 
    {
            if (BOOT_COMPLETE.equals(intent.getAction()))
        {
            Activity_PinEntry.ShowScreenLock(context);
            context.startService(new Intent(context, ReceiverService.class));
        }
        }
}

任意の提案/ヘルプをいただければ幸いです。私は本当にここで頭を悩ませています。

前もってありがとう、アダム。

4

1 に答える 1

0

私も同じ問題を抱えていました。SDメモリカードの代わりに電話にアプリケーションを転送することで解決しました。インストール ディレクトリを電話として定義しても、Alcatel は常に SD カードにアプリケーションをインストールしています。

于 2013-09-13T11:13:38.880 に答える