मैं इस सुविधा को अपने ऐप में जोड़ना चाहता हूं जिसमें उपयोगकर्ता एप्लिकेशन प्रारंभ समय सेट कर सकता है और उस समय एप्लिकेशन शुरू हो जाएगा। उपयोगकर्ता विशिष्ट समय पर अपना ऐप खोलने के लिए मैं प्रसारण रिसीवर का उपयोग कैसे कर सकता हूं। मुझे यकीन नहीं है कि एंड्रॉइड में यह संभव है या नहीं? यदि आपके पास साझा करने की तुलना में कोई विचार है। यहाँ मुख्य गतिविधि कोडविशेष समय पर आवेदन कैसे शुरू करें
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv1=(ListView)findViewById(R.id.listView);
final ImageView splashImage = (ImageView) findViewById(R.id.imageView1);
splashImage.setBackgroundResource(R.layout.splash);
AnimationDrawable splashAnimation = (AnimationDrawable) splashImage.getBackground();
splashImage.onWindowFocusChanged(true);
splashAnimation.start();
AlarmManager am = (AlarmManager) getBaseContext().getSystemService(Context.ALARM_SERVICE);
Date futureDate = new Date(new Date().getTime() + 86400000);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, 1);// start app in 1 min again
futureDate.setHours(0);
futureDate.setMinutes(0);
futureDate.setSeconds(20);
Intent intent = new Intent(getBaseContext(), MyAppReciever.class);
PendingIntent sender = PendingIntent.getBroadcast(getBaseContext(), 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis() , sender);}}
है और यह reciver वर्ग कोड
class MyAppReciever extends BroadcastReceiver{ public void onReceive(Context context,Intent intent) {
startActivity(new Intent(context, Main_Activity.class));
}private void startActivity(Intent intent) {
// TODO Auto-generated method stub}}
मैं प्रकट
<receiver android:process=":remote" android:name="MyAppReciever"></receiver>
अब
मेरे प्रसारण ट्रिगर करने के लिए इस लाइन को शामिल किया है है, लेकिन मैं यह त्रुटि आई
10-02 17:56:27.735: E/AndroidRuntime(9020): java.lang.RuntimeException: Unable to instantiate receiver com.example.testgui.MyAppReciever: java.lang.IllegalAccessException: access to class not allowed
आप
कृपया, मेरे उदाहरण पर एक नज़र डालें ... –
दिनांक भविष्य के साथ प्रयास करें दिनांक = नई तिथि (नई तिथि()। GetTime()); तारीख भविष्य की तारीख = नई तिथि (नई तिथि()। getTime() + 86400000); –
मैंने भविष्य में कोड में कुछ बदलाव किया है। मैं भविष्य में 1 मिनट में प्रसारित ट्रिगर के लिए कैलेंडर ऑब्जेक्ट का उपयोग कर रहा हूं .. इसलिए 1 मिनट के बाद मुझे बल बंद कर दिया गया .. क्योंकि "अवैध एक्सेस अपवाद: कक्षा तक पहुंच की अनुमति नहीं है" –