gpt4 book ai didi

Android:自动启动应用程序和加载首选项

转载 作者:搜寻专家 更新时间:2023-11-01 09:18:26 24 4
gpt4 key购买 nike

我在自动启动后正确初始化我的应用程序时遇到问题。

我已经设法让自动启动工作,重新启动后应用程序显示为已启动但计时器没有。我的猜测是当我调用 context.startService() 时,MyApp 的“onCreate”函数没有被调用。计时器在 MyApp 的 doActivity() 函数中设置。

我将不胜感激关于我可能做错了什么的任何提示或指向好的教程的链接。 :)

list :

    <activity android:name=".MyApp"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<receiver android:name="MyApp_Receiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>[/syntax]

MyApp_Receiver是一个BoradcastReciever,具有以下两个功能

public void onReceive(Context context, Intent intent) {
// Do Autostart if intent is "BOOT_COMPLETED"
if ((intent.getAction() != null) && (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")))
{
// Start the service
context.startService(new Intent(context, MyApp.class));
}
// Else do activity
else
MAIN_ACTIVITY.doActivity();
}

public static void setMainActivity(MyApp activity)
{
MAIN_ACTIVITY = activity;
}

MyApp 扩展了 PreferenceActivity 并有一个 onCreate() 和一个 doActivity(),doActivity() 读取首选项并根据它们设置计时器。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Show preferences
addPreferencesFromResource(R.xml.preferences);;

// Register Preference Click Listeners
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);


// Prepare for one-shot alarms
if (mIntent == null)
{
mIntent = new Intent(MyApp.this, MyApp_Receiver.class);
mSender = PendingIntent.getBroadcast(MyApp.this,
0, mIntent, 0);
MyApp_Receiver.setMainActivity(this);
}

// Refresh and set all timers on start
doActivity();
}

最佳答案

The timers are set in the doActivity() function of MyApp.

那永远行不通。 MyApp 是一个 Activity ,在用户进入并启动它之前不会被创建。

onReceive() 中读取您的 SharedPreferences 并在那里设置闹钟。

关于Android:自动启动应用程序和加载首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2817767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com