मैं अपने ऐप है, जो एपीआई स्तर 17. मैं सब कुछ सेट अप किया है के रूप में GCM नेटवर्क प्रबंधक पृष्ठ पर विस्तार से बताया करने के लिए नीचे चलाता है में एक आवर्ती कार्य का समय निर्धारित करने के लिए प्रयास कर रहा हूँ GcmNetworkManager का उपयोग (https://developers.google.com/cloud-messaging/network-manager):GCM नेटवर्क प्रबंधक - समय-समय पर टास्क फायरिंग नहीं
मेरी AndroidManifest.xml में, मेरे पास है:
<service
android:name=".services.MyService"
android:exported="true"
android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
<intent-filter>
<action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
</intent-filter>
</service>
मेरे आवेदन में, मैं है:
long periodSecs = 30L; // the task should be executed every 30 seconds
long flexSecs = 15L; // the task can run as early as -15 seconds from the scheduled time
String tag = "myScan|1";
PeriodicTask periodic = new PeriodicTask.Builder()
.setService(MyService.class)
.setPeriod(periodSecs)
.setFlex(flexSecs)
.setTag(tag)
.setPersisted(false)
.setRequiredNetwork(com.google.android.gms.gcm.Task.NETWORK_STATE_ANY)
.setRequiresCharging(false)
.setUpdateCurrent(true)
.build();
GcmNetworkManager.getInstance(this).schedule(periodic);
और मैं MyService है, जो की तरह लग रहा है:
public class MyService extends GcmTaskService {
@Override
public int onRunTask(TaskParams taskParams) {
Log.info("onRunTask: " + taskParams.getTag());
return GcmNetworkManager.RESULT_SUCCESS;
}
@Override
public int onStartCommand (Intent intent, int flags, int startId) {
Log.info("onStartCommand");
return GcmTaskService.START_STICKY_COMPATIBILITY;
}
}
जब मैं अनुप्रयोग शुरू, मैं onStartCommand की उम्मीद के रूप में लॉग, लेकिन onRunTask कभी नहीं कहा जाता हो जाता है मिलता है। क्या मैं कुछ भूल रहा हूँ? मैं उम्मीद कर रहा हूँ कि, एक बार शुरू कर दिया है (जैसा कि शुरुआत आदेश फायरिंग इसका सबूत), यह हर 15-30 सेकंड चलाना चाहिए - कि एक सही धारणा है? यह बिल्कुल फायरिंग क्यों नहीं है?
धन्यवाद!
मुझे समझ में नहीं आता कि यह 'लंबी अवधि Secs = 30L; 'सेकंड है। मैं उम्मीद करता हूं कि यह मिलीसेकंड में होगा। क्या यह वास्तव में सेकंड है? पाठ्यक्रम है कि मेरी समस्या नहीं है की - – lxknvlk