Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AlarmManager、计时器和Wifi控制。如何?_Android_Alarmmanager_Android Wifi_Android Timepicker - Fatal编程技术网

Android AlarmManager、计时器和Wifi控制。如何?

Android AlarmManager、计时器和Wifi控制。如何?,android,alarmmanager,android-wifi,android-timepicker,Android,Alarmmanager,Android Wifi,Android Timepicker,嗯,我的应用程序将显示wifi信息(仍在进行中),并在wifi打开时设置时间选择器。问题是我不知道如何在AlarmManager方法中连接选择器“set”对话框中的按钮。这是密码 package com.pkg.androidmemoryinfo; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import andro

嗯,我的应用程序将显示wifi信息(仍在进行中),并在wifi打开时设置时间选择器。问题是我不知道如何在AlarmManager方法中连接选择器“set”对话框中的按钮。这是密码

package com.pkg.androidmemoryinfo;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;

import java.util.Calendar;

    public class MainActivity extends Activity implements OnClickListener {

        private Button mTimeButton;

        private Calendar mCalen;
        private int hourOfDay;
        private int minute;
        private int ampm;

        private static final int Time_PICKER_ID = 0;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mTimeButton = (Button) findViewById(R.id.time_button);
            mCalen = Calendar.getInstance();
            hourOfDay = mCalen.get(Calendar.HOUR_OF_DAY);
            minute = mCalen.get(Calendar.MINUTE);
            ampm = mCalen.get(Calendar.AM_PM);
            mTimeButton.setOnClickListener(this);
         // Creating a memory_info  Object
            MemoryInfo memory_info = new MemoryInfo();      
            // Using Activity Manager System Service
            ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
            activityManager.getMemoryInfo(memory_info);     
            // Assign Memory Value to free_memory Variable
            long free_memory = memory_info.availMem / 1048576L;     
             // Display free Ram Memory
             TextView memoryInfoView = (TextView) findViewById(R.id.device_memory_status_txt);
             memoryInfoView.setText("Free RAM Memory :-"+ free_memory + " MB");    


        }
        public void run() {
            WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            WifiInfo info = wifi.getConnectionInfo();
            String ssid = info.getSSID();

            TextView ssidTextView = (TextView) findViewById(R.id.wifiSSID);
            ssidTextView.setText(ssid);
        }
        @Override
        @Deprecated
        protected Dialog onCreateDialog(int id) {

            switch (id) {
                case Time_PICKER_ID:
                    return new TimePickerDialog(this, TimePickerListener,
                            hourOfDay, minute, false);
            }
            return null;
        }

        private TimePickerDialog.OnTimeSetListener TimePickerListener =
                new TimePickerDialog.OnTimeSetListener() {

                    // while dialog box is closed, below method is called.
                    public void onTimeSet(TimePicker view, int hour, int minute) {

                        mCalen.set(Calendar.HOUR_OF_DAY, hour);
                        mCalen.set(Calendar.MINUTE, minute);

                        int hour12format = mCalen.get(Calendar.HOUR);
                        hourOfDay = mCalen.get(Calendar.HOUR_OF_DAY);
                        minute = mCalen.get(Calendar.MINUTE);
                        ampm = mCalen.get(Calendar.AM_PM);
                        String ampmStr = (ampm == 0) ? "AM" : "PM";
                        // Set the Time String in Button

                        TextView dateInfoView = (TextView) findViewById(R.id.dateinfo);
                        dateInfoView.setText("L'attivazione del Wi-Fi è impostata per le ore: " + hour12format + " : " + minute + " / " + ampmStr);    

                        /// Here is the problem: Where have i to put this? ///
                        WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
                        wifiManager.setWifiEnabled(true);


                    }
                };

        @SuppressWarnings("deprecation")
        @Override
        public void onClick(View v) {
            showDialog(Time_PICKER_ID);
        }
    }

正如你所见,我不知道如何设置wifi控制。我怎么做?如何使用代码创建AlarmManager?如果可能的话,我需要一个例子。谢谢

这是我认为您可以使用的时间选择器的一个示例

--------主要活动-------

-------------主要活动XML-----------------


-------------时间选择器类---------------

package com.example.chxboxtest;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.CheckBox;
导入android.widget.TextView;
导入android.widget.TimePicker;
导入android.widget.Toast;
公共类TimePickerTest扩展活动实现OnClickListener{
专用复选框cBox;
私人时间选择器;
私有文本视图显示时间;
私人按钮完成;
私人弦乐小时;
私人字符串分钟;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.time\u picker\u layout);
初始化按钮();
}
私有void initButtons(){
tPicker=(时间选择器)findViewById(R.id.time\u选择器);
showTime=(TextView)findViewById(R.id.get\u time);
完成=(按钮)findViewById(R.id.done);
cBox=(复选框)findViewById(R.id.time\u picker\u复选框);
cBox.setOnClickListener(这个);
完成。setOnClickListener(此);
}
@凌驾
公共void onClick(视图v){
开关(v.getId()){
//如果选中启用或取消启用时间选择器
案例R.id.time\u picker\u复选框:{
如果(((复选框)v).isChecked()){
Toast.makeText(这个“选中”,Toast.LENGTH_SHORT).show();
tPicker.setEnabled(false);
}否则{
Toast.makeText(此“未选中”,Toast.LENGTH_SHORT).show();
tPicker.setEnabled(true);
}
}
打破
//如果按下“完成”按钮,则由用户选择时间
案例R.id.done:{
tPicker.clearFocus();
//重新读取这些值,在我的例子中,我将它们放在一个时间对象中。
小时=tPicker.getCurrentHour().toString();
分钟=tPicker.getCurrentMinute().toString();
if(tPicker.getCurrentMinute().intValue()<10){
字符串setTimeText=hour+“:“+”0“+分钟;
setText(setTimeText);
}否则{
字符串setTimeText=hour+“:”+分钟;
setText(setTimeText);
}
}
打破
违约:
打破
}
}
}
-------------TimerPicker XML------------


-------------Manifest.xml-----------

**
**
别忘了将TimePicker类添加为活动。 BestPracice在strings.xml中添加所有xml文本


干杯

非常感谢您,您认为使用您的密码插入wifi代码容易吗?
package com.example.chxboxtest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {

private Button start_intent_button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    start_intent_button = (Button) findViewById(R.id.start_intent_button);
    start_intent_button.setOnClickListener(this);

}

@Override
public void onClick(View v) {

    switch (v.getId()) {

    case R.id.start_intent_button: {

        Intent intent = new Intent(this,TimePickerTest.class);
        startActivity(intent);

    }
        break;
    }

}

}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
 >  

<Button 
    android:id="@+id/start_intent_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Start Intent Time Picker"
    android:layout_centerInParent="true"
    />


</RelativeLayout>
  package com.example.chxboxtest;

 import android.app.Activity;
 import android.os.Bundle;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.TextView;
 import android.widget.TimePicker;
 import android.widget.Toast;


 public class TimePickerTest extends Activity implements OnClickListener{

private CheckBox cBox;
private TimePicker tPicker;
private TextView showTime;
private Button done;

private String hour;
private String minute;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.time_picker_layout);

    initButtons();
}



private void initButtons() {

    tPicker = (TimePicker) findViewById(R.id.time_picker);
    showTime = (TextView) findViewById(R.id.get_time);
    done = (Button)findViewById(R.id.done);
    cBox = (CheckBox) findViewById(R.id.time_picker_checkbox);
    cBox.setOnClickListener(this);
    done.setOnClickListener(this);
}

@Override
public void onClick(View v) {

    switch (v.getId()) {

    //If check enable or disble timePicker
    case R.id.time_picker_checkbox: {

        if (((CheckBox) v).isChecked()) {
            Toast.makeText(this, "CHECKED", Toast.LENGTH_SHORT).show();
            tPicker.setEnabled(false);
        } else {
            Toast.makeText(this, "NOT CHECKED", Toast.LENGTH_SHORT).show();
            tPicker.setEnabled(true);
        }
    }
        break;

//If Done button pressed get time selected by user

    case R.id.done:{


        tPicker.clearFocus();
        // re-read the values, in my case i put them in a Time object.
        hour   = tPicker.getCurrentHour().toString();
        minute = tPicker.getCurrentMinute().toString();

        if(tPicker.getCurrentMinute().intValue() < 10){

            String setTimeText = hour+ " : " + "0" + minute;
            showTime.setText(setTimeText);
        }else{
            String setTimeText = hour+ " : " + minute;
            showTime.setText(setTimeText);
        }





    }
        break;

    default:
        break;

    }

}

  }
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/timer_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/time_picker"
    android:layout_toRightOf="@+id/time_picker_checkbox"
    android:text="Check this to Cancel Alarm" />

<CheckBox
    android:id="@+id/time_picker_checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/time_picker"
    android:layout_centerHorizontal="true" />

<TimePicker
    android:id="@+id/time_picker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" />

<Button
    android:id="@+id/done"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/time_picker"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:text="Done" />

<TextView
    android:id="@+id/get_time"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:gravity="center_horizontal"
    android:text="Time"
    android:textColor="#FF0000"
    android:textSize="25sp" />

 </RelativeLayout>
     **<activity
        android:name="com.example.chxboxtest.TimePickerTest"
        android:configChanges="orientation|keyboardHidden">
    </activity>**