मैं जानना चाहता हूं कि मैं इसे रद्द करने के बाद टाइमर को फिर से शेड्यूल कर सकता हूं या नहीं। यह यहां बताया गया था, http://www.coderanch.com/t/452066/java/java/Exception-timer-IllegalStateException, कि एक बार जब आप टाइमर रद्द कर देते हैं, तब तक एक ही टाइमर पर कुछ भी शेड्यूल करना संभव नहीं होगा जब तक कि मैं एक नया टाइमर नहीं बनाता। और साथ ही, मुझे निम्न त्रुटि का सामना करना पड़ा, java.lang.IllegalStateException: टाइमर रद्द कर दिया गया था। मैं एक टाइमर के साथ बाहर आने की कोशिश कर रहा हूं जो नियमित रूप से वाईफ़ाई स्कैनिंग करेगा। लेकिन जब मैं स्कैनिंग के बाद कुछ गणना कर रहा हूं तो टाइमर को "रोकें" या नहीं, तो मैंने रद्द कर दिया। केवल गणना पूरी करने के बाद और कुछ परिणाम वापस लौटने के बाद, मैं टाइमर फिर से शुरू करूंगा। क्या कोई मुझे बता सकता है कि मैं इस समस्या को हल करने में कैसे जा सकता हूं?पुन: स्थापित। रद्द करने के बाद टाइमर "java.lang.IleglegalStateException: टाइमर रद्द कर दिया।"
यह उल्लेख करने के लिए भूल गया कि मैं छवियों को लोड करने के बाद ही टाइमर शुरू करूंगा, जिसे मैंने ऐसा करने के लिए AsyncTask का उपयोग किया था।
मैं इसे एक अलग धागा हासिल करने की कोशिश कर रहा हूं ताकि यह यूआई थ्रेड को पकड़ न सके।
यहां कार्यक्रम के किसी न किसी कंकाल है और टाइमर जहां यह वाईफ़ाई स्कैनिंग प्रदर्शन करेंगे जब समय elasped के बाद ही छवि पूरी तरह से लोड किया गया है शुरू (के बाद "load.execute (संदर्भ);"): प्रसारण रिसीवर के लिए
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.DELETE_CACHE_FILES"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
त्रुटि मुठभेड़:
public class LargeImageScroller extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new SampleView(this));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {...}
@Override
public boolean onOptionsItemSelected(MenuItem item) {...}
//this is the class where the program would do all the UI and display images
private static class SampleView extends View {
public SampleView(Context context) {
:
loadMap load = new loadMap();
load.execute(context);
scanTask = new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
handler.post(new Runnable() {
public void run() {
wifi = (WifiManager)context.getSystemService(WIFI_SERVICE);
context.registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
wifi.startScan();
Log.d("TIMER", "Timer set off");
}
});
}
};
scanTimer.schedule(scanTask, refreshRate);
}
public class wifiReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
List<ScanResult> sc = wifi.getScanResults();
for(int i=0; i<sc.size(); i++){
Log.e("AndroidRuntime", sc.get(i).SSID);
}
}
}
public boolean onTouchEvent(MotionEvent event) {...}
protected void onDraw(Canvas canvas) {...}
private static Drawable LoadImageFromWebOperations(String url){...}
private static Bitmap decodeFile(File f, int requiredSize){...}
private class loadMap extends AsyncTask<Context, Void, ArrayList<Bitmap>>{...}
}
अनुमति है कि शामिल किया गया था का उपयोग करता है
10-25 05:53:04.903: ERROR/ActivityThread(1551): Activity android.wps.LargeImageScroller has leaked IntentReceiver [email protected] that was originally registered here. Are you missing a call to unregisterReceiver()?
10-25 05:53:04.903: ERROR/ActivityThread(1551): android.app.IntentReceiverLeaked: Activity android.wps.LargeImageScroller has leaked IntentReceiver [email protected] that was originally registered here. Are you missing a call to unregisterReceiver()?
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.app.ActivityThread$PackageInfo$ReceiverDispatcher.<init>(ActivityThread.java:797)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.app.ActivityThread$PackageInfo.getReceiverDispatcher(ActivityThread.java:608)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.app.ApplicationContext.registerReceiverInternal(ApplicationContext.java:724)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.app.ApplicationContext.registerReceiver(ApplicationContext.java:711)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.app.ApplicationContext.registerReceiver(ApplicationContext.java:705)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:308)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.wps.LargeImageScroller$SampleView$1$1.run(LargeImageScroller.java:187)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.os.Handler.handleCallback(Handler.java:587)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.os.Handler.dispatchMessage(Handler.java:92)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.os.Looper.loop(Looper.java:123)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at android.app.ActivityThread.main(ActivityThread.java:4363)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at java.lang.reflect.Method.invokeNative(Native Method)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at java.lang.reflect.Method.invoke(Method.java:521)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
10-25 05:53:04.903: ERROR/ActivityThread(1551): at dalvik.system.NativeStart.main(Native Method)
ऐसा लगता है जब मैं एक वाईफ़ाई स्कैन करने के लिए codings शब्दों में कहें, ऐसा लगता है कि कि कुछ भी नहीं किया जाता है। – user918197
क्या आप अपना कुछ कोड पोस्ट कर सकते हैं ताकि हम देख सकें कि आपने अभी तक क्या किया है? –
कोडिंग जो पहले यहां से उदाहरण से आधारित था, http://stackoverflow.com/questions/3045227/android-stop-image-scaling-down। – user918197