0

起動時に、つまりモバイル デバイスの起動時に起動するアプリを Titanium で作成しようとしています。Andsoidマニフェストファイルへのエントリを実行するように記述されたコードと、次のようなコードがいくつかの場所で書かれているのを見てきました

 @Override
public void onReceive(Context context, Intent intent) {
  Intent myIntent = new Intent(context, YourActivity.class);
  context.startActivity(myIntent);
 }

しかし、私はこのコードをどこに置くべきかを理解することができません。どのファイルで?? そしてどこに ?

4

2 に答える 2

0

この2つの答えはあなたが必要とすることをします:

システム ブロードキャストの後に BroadcastReceiver を開始します: https://stackoverflow.com/a/7877466/988434

ブート時に BroadcastReceiver を開始します: https://stackoverflow.com/a/8544151/988434

BroadcastReceiver では、必要な Service/Activty を呼び出すだけで実装できます。

上記の2つの回答の質問にその例があります。

これらを読んだ後に未解決の問題がある場合は教えてください =]。

于 2012-04-27T21:47:29.573 に答える
0

BOOT_COMPLETED インテント フィルターをリッスンする必要があります。引用したコードは、デバイスの起動時に起動するBroadcastReceiverからのものです。

このクラスは から拡張する必要がありBroadcastReceiverます:

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
          ...
    }
}

次に、次の手順を実行して、そのレシーバーをマニフェスト ファイルに登録する必要があります。

<receiver 
    android:enabled="true"
    android:name="your_package.BootReceiverClassName"
    android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
        <intent-filter>
            <action  android:name="android.intent.action.BOOT_COMPLETED"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
</receiver>

また、次の許可が必要です。

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

ちなみに、アプリがSDカードにインストールされていないことを確認する必要があります。そうしないと、機能しません(ただし、回避策はあります)。

于 2012-04-27T21:48:29.600 に答える