我想每天早上 9 点唤醒我的整个 Android 应用程序。我尝试使用Android的闹钟管理器。但它调用待定意图。但就我而言,没有待定意图,我想唤醒完整的应用程序。以下是我的代码。由于我是 Android 开发的初学者,非常感谢任何帮助。
public void SetAlarm() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 09);
cal.set(Calendar.MINUTE, 00);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmMgr.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
}
Run Code Online (Sandbox Code Playgroud)
在 MainActivity 类中:
public class MainActivity extends Activity {
String ua = "Mozilla/5.0 (Android; Tablet; rv:20.0) Gecko/20.0 Firefox/20.0";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setBackgroundColor(0);
WebSettings webSettings = myWebView.getSettings();
myWebView.getSettings().setUserAgentString(ua);
webSettings.setJavaScriptEnabled(true);
myWebView.setWebChromeClient(new WebChromeClient());
webSettings.setDomStorageEnabled(true);
myWebView.setWebViewClient(new MyAppWebViewClient());
myWebView.loadUrl("file:///android_asset/www/index.html");
SetAlarm();
}
}
Run Code Online (Sandbox Code Playgroud)
但在上午 9 点,它没有唤醒我的应用程序。有什么错误吗??
引入(BroadcastReceiver)又一步来打开完整的应用程序。
AlarmManager-> broadcastReceiver-> 您的应用程序启动页面/启动器页面
就是这样。