অ্যালার্ম ম্যানেজার বেশ কয়েকটি ডিভাইসে কাজ করছে না


85

আমার অ্যাপ্লিকেশনটি অ্যালার্ম ম্যানেজার ব্যবহার করে এবং এটি 4 বছর আগে থেকেই কাজ করছে। তবে আমি লক্ষ্য করেছি এটি কিছু ডিভাইসে ব্যর্থ হতে শুরু করে।

আমি বেশ নিশ্চিত কোডটি সঠিক (আমি ওয়েজফুলবারডকাস্টরিসিভার এবং ডজে সহ ডিভাইসগুলির জন্য সেট্যাক্স্যাক্টএন্ডএলওহুইলআইডল ব্যবহার করছি) কারণ এটি নেক্সাস ডিভাইসগুলিতে পুরোপুরি কাজ করছে, তবে এটি কিছু প্রস্তুতকারকের ডিভাইসে ব্যর্থ হয়েছে (হুয়াওয়ে, শাওমি ...)।

উদাহরণস্বরূপ হুয়াওয়ে ডিভাইসগুলিতে এক ধরণের ব্যাটারি ম্যানেজার রয়েছে যা অ্যাপ্লিকেশনগুলিকে হত্যা করে এবং যখন কোনও অ্যাপ মারা যায় তখন নির্ধারিত অ্যালার্ম বাতিল হয়ে যায়। সুতরাং হুয়াওয়ের ব্যাটারি ম্যানেজারটিতে একটি অ্যাপ্লিকেশনটিকে "সুরক্ষিত" হিসাবে সেট করা সমস্যার সমাধান করে।

তবে সম্প্রতি আমি লক্ষ্য করেছি যে এটি আরও ডিভাইসগুলির সাথে কাজ করছে না: শাওমি, স্যামসুং (সম্ভবত এটি নতুন "স্মার্ট ম্যানেজার" এর সাথে সম্পর্কিত?) ... মনে হচ্ছে এই আচরণটি একটি মান হয়ে উঠছে: ব্যাকগ্রাউন্ড অ্যাপ্লিকেশনগুলিকে হত্যা করতে।

কেউ এ সম্পর্কে কিছু জানেন? অ্যালার্ম বহিস্কারের কোনও উপায় কী?

সম্পাদনা: এই সমস্যাটি বিভিন্ন উত্পাদনকারীদের দ্বারা যুক্ত "ব্যাটারি সেভারগুলি" দ্বারা সৃষ্ট। আরও তথ্য এখানে: https://dontkillmyapp.com/


8
উত্পাদকরা বিদ্যুৎ ব্যবহারের জন্য অ্যাপ্লিকেশনগুলিকে দোষ দেয় এবং তারা সিপিইউর তুলনায় কম কোর সহ তুলনায় বেশি ব্যাটারি খাওয়া অক্টা-কোরগুলি বিপণন করে। তারা কি মনে করে যে কেবল একটি কোর যুক্ত করা তাদের ফোনের গতি বাড়িয়ে তুলবে?
ফ্রোজেনফায়ার

4
@ অভিলিভিনেস্টেইন হয়ত আপনার প্রশ্নটি আমি ভুল বুঝেছি। আমি আমার ক্রিয়াকলাপে অ্যালার্ম তৈরি করছি। তারপরে, যখন অ্যালার্মটি বন্ধ হয়ে যায়, একটি সম্প্রচার রিসিভার কার্যকর করা হয় এবং শেষ অবধি, একটি ওয়েকফুলআইন্টেন্ট সার্ভিস (@ কমন্সওয়্যারের ক্লাস) কার্যকর করা হয়।
সেরজিও ভিউডস

4
@ JFValdes আমি এখনও একটি সমাধান খুঁজছি। অ্যালার্ম ম্যানেজার ভ্যানিলা অ্যান্ড্রয়েডের সাথে ডিভাইসে নিখুঁতভাবে কাজ করছে। সমস্যাটি হ'ল নির্মাতারা অ্যান্ড্রয়েড বৈশিষ্ট্যগুলি "উন্নত" করার চেষ্টা করছেন এবং তারা অ্যালার্ম ম্যানেজারটি ভেঙে দিয়েছে ... নির্মাতাদের তাদের নিজস্ব "ব্যাটারি সেভার" প্রয়োগ করা উচিত নয়, যদি তারা স্ট্যান্ডার্ড ডোজ মোড ব্যবহার করে, তবে অ্যালার্মম্যানেজারটি পুরোপুরি কাজ করবে ... তবুও খুঁজছেন একটি সমাধানের জন্য ...
সের্জিও ভিউডস

4
এখনও কোন সমাধান আছে? অনুস্মারক বা অন্য কিছুগুলির মতো অন্যান্য অ্যাপ কীভাবে তা করে? সেট অ্যালার্মের চেয়ে আরও একটি বিকল্প থাকতে হবে, যা অ্যালার্মগুলির জন্য, অনুস্মারকগুলির জন্য নয়
কেভি

4
@ সার্জিওউইউডস আমিও ট্র্যাকিংয়ের জন্য জিমি ডিভাইসগুলির সাথে একই সমস্যার মুখোমুখি। এবং যদি আমি নিম্নলিখিত অ্যাপ্লিকেশনগুলি দ্বারা 4 টির মধ্যে 3 ডিভাইসে সঠিকভাবে কাজ করার চেয়ে ব্যাটারি সংরক্ষণের সীমাবদ্ধতা থেকে বিরত রাখি - -> ব্যাটারিতে যান -> পাওয়ার -> অ্যাপের ব্যাটারি সেভার -> আপনার অ্যাপ্লিকেশনটি এখন নির্বাচন করুন কোনও বিধিনিষেধ নেই (পটভূমি সেটিংসের জন্য) তারপরে পটভূমির অবস্থানের জন্য বিকল্পের অনুমতি দিন
ইমরান খান সাইফী

উত্তর:


17

আমি ইতিমধ্যে কয়েক সপ্তাহ আগে এটি সমাধান করার চেষ্টা করছি। আমি কিছুই পাইনি। হুয়াওয়ে কিছুক্ষণ পরেই সমস্ত অ্যালার্ম মেরে ফেলল। আমি যদি অ্যাপটিকে তাদের ব্যাটারি সেভারে সুরক্ষিত অ্যাপে রাখি তবে তাতে কোনও লাভ হয় না। তবে আমি যদি আমার অ্যাপ্লিকেশনটির প্যাকেজের নামটি অ্যালার্ম, ঘড়ি বা ক্যালেন্ডারের মতো শব্দ ধারণ করতে পরিবর্তন করি তবে এটি অন্য কোনও ডিভাইসের মতো একেবারে স্বাভাবিক কাজ করে। আমি বুঝতে পারি না যে গুগল কীভাবে এই বকাবলের জন্য শংসাপত্র দেয়। আমি মনে করি যে ওএম এর মূল মঞ্চ প্ল্যাটফর্মটি পরিবর্তন করা উচিত নয়। আমি বুঝতে পারি যে তাদের নিজস্ব ব্যাটার সেভার রয়েছে যা কিছুক্ষণ পরে অ্যাপ্লিকেশনটি মেরে ফেলে, যখন ব্যবহারকারী এটি ব্যবহার না করে। তবে এই হত্যার অ্যালার্মগুলি সুরক্ষিত অ্যাপ্লিকেশনগুলিরও।

সঠিক সময়ের অ্যালার্মগুলিতে সহায়তা করে জন্য অ্যালার্মক্লক () সেট করুন। তবে উইজেট আপডেটের মতো চিন্তাভাবনার জন্য এটি ব্যবহার করা সম্ভব নয়।

আপডেট: প্যাকেজ নামের কীওয়ার্ড দ্বারা সুরক্ষা ইতিমধ্যে বর্তমান হুয়াওয়ে ডিভাইসে কাজ করছে না, এটি 2017 সালে সত্য ছিল।


আমার মতো একই, আমি কিছু ব্র্যান্ড শাওমি, ওপ্পো, হুয়াওয়ে এই সমস্যা সমাধানের উপায় ছাড়াও চেষ্টা করি। তারা কখনও কখনও ব্যাটারি সংরক্ষণের জন্য পটভূমি প্রক্রিয়া এবং অ্যালার্মকে হত্যা করে।
অ্যান্ডি সুসিলো

4
আমার হুয়াওয়ে ফোন আছে, প্যাকেজের নামটি অ্যালার্ম / ক্যালেন্ডারে পরিবর্তন করা কিছুই করে না। ফোন ম্যানেজার থেকে সুরক্ষিত অ্যাপ্লিকেশন তালিকায় আপনার অ্যাপ্লিকেশনটি এটিকে বাইপাস করার একমাত্র উপায়
আশীষ পার্ধিয়ে

9

ইস্যুটি স্মার্ট ম্যানেজারের। স্যামসুয়ের একটি ব্যাটারি ম্যানেজার রয়েছে যা সময়ে সময়ে নির্দিষ্ট কিছু অ্যাপকে ব্যাকগ্রাউন্ডে চালানো থেকে অক্ষম করে। অ্যাপটিতে ফিরে যাওয়ার সময় এটি "পুনঃসূচনা" করার চেষ্টা করেছিল তবে অ্যাপ্লিকেশনটিকে পুরোপুরি অক্ষম করে দেয় বা প্রতি 5 মিনিট বা তার পরে (স্যামসাং কীভাবে এটি নির্ভর করে) পুনরায় শুরু করতে পারে।

স্যামসুং ম্যানেজার না থাকায় এটি অ্যান্ড্রয়েডের স্টক সংস্করণে কাজ করবে। আপনি অ্যান্ড্রয়েডের কাস্টম সংস্করণও ইনস্টল করতে পারেন যা এসএম সক্ষম করার জন্য কয়েকটি বৈশিষ্ট্য রয়েছে (রোমের উপর নির্ভর করে)।


আমি পাগল হয়ে যাচ্ছি কারণ এটি পরীক্ষা করার জন্য আমার কাছে কোনও স্যামসুং ডিভাইস নেই। আমি কেবল জানি আমার অ্যাপের ব্যবহারকারীরা আমাকে কী বলছেন only আপনি কি জানেন যে সমস্যাটি যদি অ্যালার্ম ম্যানেজার কাজ করে না কারণ অ্যাপটি মারা যায়? বা সমস্যাটি হল যে সেই ব্যবস্থাপকের কারণে অ্যালার্ম বন্ধ হয়ে গেলে ডিভাইসটি জাগতে পারে না?
সার্জিও ভিউডস

@ সার্জিওভিউডস সম্প্রতি প্রচুর সংস্থাগুলি তাদের নিজস্ব বাস্তবায়ন করছে। যেমন এলজির একটি রয়েছে যা স্যামসুঙের মতো কাজ করে, সম্ভবত আপনার ফোনে কি আছে? সমস্যাটি অ্যালার্ম নয়, অ্যালার্ম অ্যাপটিকে এমন অবস্থায় ঠেলে দেওয়া হয় যেখানে এটি সম্পূর্ণ নিষ্ক্রিয় থাকে। স্মার্ট ম্যানেজার মনে করে এটি আপনার কেবল প্রয়োজন নেই এমন একটি এলোমেলো অ্যাপ্লিকেশন। আমি লক্ষ্য করেছি যে নির্দিষ্ট কিছু অ্যাপ্লিকেশনগুলি এটি পেরিয়ে যেতে পারে, সম্ভবত কিছু অ্যাপ্লিকেশন স্মার্ট ম্যানেজার দ্বারা গৃহীত হয়েছে।
এস এ

4
@ সার্জিওউইউডসগুলি পরীক্ষা করার জন্য আমার একটি স্যামসং রয়েছে এবং আমি আপনাকে বলতে পারি যে এটি থেকে আপনি পেতে পারেন এমন খুব বেশি কিছু নেই। স্মার্ট ম্যানেজার যখন আপনার অ্যাপ্লিকেশনটিকে অনুকূলিত করে তখন কোনও ত্রুটি বা কিছু নেই, কেবল জোর করে থামানোয়ের মতোই এটি মারা যায়। এটি এখনও সাম্প্রতিক অ্যাপ্লিকেশনগুলির তালিকায় রয়েছে
টিম

ধন্যবাদ টিম "স্মার্ট" পরিচালক থেকে অ্যাপস বাদ না দিয়ে এই সমস্যার সমাধান করা দুর্দান্ত হবে।
সার্জিও ভিউডস

জিয়াওমি (মিউই), ভিভো এবং এইচটিসির মতো ডিভাইসগুলি ডিফল্টরূপে অনুমতিগুলির পুরো গোছাটিকে মিথ্যা হিসাবে সেট করে, যদি না এটি "বিশ্বস্ত" অ্যাপ্লিকেশনগুলির তালিকার কোনও অ্যাপ্লিকেশন থাকে যা তারা নিজেরাই নির্ধারণ করে বলে মনে করে (হোয়াটসঅ্যাপ, ট্রুইকলার ইত্যাদি) ডিফল্টরূপে বিশ্বাসী না হয় )। এটি একটি কোডারদের দুঃস্বপ্ন হয়ে উঠছে
desidigitalnomad

4

আধুনিক অ্যান্ড্রয়েড ডিভাইসগুলির বেশিরভাগই একটি অ্যাপ্লিকেশন বা প্রক্রিয়া নিয়ে আসে, যা স্বয়ংক্রিয়ভাবে ব্যাটারি কীভাবে সংরক্ষণ করবেন তা নির্ধারণ করার চেষ্টা করে এবং ফলস্বরূপ কিছু তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলিকে হত্যা করতে পারে। এর ফলে নির্ধারিত কাজ এবং কাজগুলি সরিয়ে ফেলা হতে পারে (যেমন অ্যালার্মগুলি বন্ধ হচ্ছে না, বিজ্ঞপ্তিটি কাজ করছে না ইত্যাদি) push অনেক ক্ষেত্রে এটি অ্যান্ড্রয়েডের ব্যাটারি সাশ্রয় করার প্রক্রিয়া থেকে সম্পূর্ণ স্বাধীন হয়, আমার ক্ষেত্রে আমি যখন কিছু ডিভাইসগুলির মডেল সনাক্ত করি তখন আমি বেশি ব্যাটারি অপ্টিমাইজেশন করতে পারি না, আমি আমার অ্যাপ্লিকেশনকে শ্বেত তালিকাতে স্টার্ট আপ ম্যানেজারে পুনঃনির্দেশ করি

আপনি এই লিঙ্কটিতে প্রতিটি মডেলটির জন্য এই উদ্দেশ্যটি খুঁজে পেয়েছেন যে আপনাকে https://android-arsenal.com/details/1/6771 শুরু করা উচিত


2

<5.0 ডিভাইসের জন্য অ্যালার্ম ম্যানেজার এবং 5.0+ ডিভাইসের জন্য জবশেডুলার ব্যবহার করুন। আমি নিশ্চিতভাবে বলতে পারি না যে জবশেডুলার নির্মাতারা শেনিনিগান দ্বারা প্রভাবিত হবে না, তবে এটি অ্যান্ড্রয়েড মানুষকে অ্যালার্ম ম্যানেজার থেকে দূরে সরিয়ে জবশেডুলারের দিকে চালিত করার চেষ্টা করছে বলে আমার মনে হয় খুব কম।

সম্পাদনা: গুগল ওয়ার্ক ম্যানেজার নামে এই সমস্যার প্রথম পক্ষের সমাধান নিয়ে এসেছে । এটি একাধিক সময়সূচী ফ্রেমওয়ার্ক বিমূর্ত করে এবং ডিভাইসের জন্য সবচেয়ে উপযুক্ত একটি ব্যবহার করে।


4
দুর্ভাগ্যক্রমে, অ্যালার্ম ম্যানেজার শ্রেণীর বিপরীতে, জবশেডুলার ব্যবহার করার সময় সময় সঠিক নয়। আমার অ্যাপ্লিকেশনটিতে, সময় নির্ধারণের সময়টি সঠিক হওয়া উচিত :(
সের্জিও ভিউডস

আমি এটিকে চেষ্টা করেছিলাম এবং স্ক্রিনটি বন্ধ হয়ে গেলে কিছু অপ্টিমাইটিভেটর (কমপক্ষে স্যামসং) জোবশেডুলারে সমস্ত মুলতুবি কাজগুলিকে হত্যা করে। সুতরাং এটিও ভেঙে গেছে। এটি 5.0 এ ঘটে। 6.0 এ আপডেট করার পরে এটি সূক্ষ্মভাবে কাজ করে, আমি অনুমান করি তারা এটি ঠিক করেছে। আমি এখনও অন্য নির্মাতাদের সাথে এটি পরীক্ষা করতে পারিনি।
স্লো

সঠিক সময়ের জন্য আপনি একটি পটভূমি পরিষেবা বা নির্ধারিত পরিষেবা ব্যবহার করতে পারবেন না। আপনি অগ্রভাগের পরিষেবাটি চেষ্টা করতে পারেন, তবে এটি ব্যবহারকারীর জন্য একটি অবিরাম বিজ্ঞপ্তি তৈরি করবে (সম্ভবত অবাঞ্ছিত) এবং কিছু ফোনে টাস্ক কিলার তৈরি রয়েছে যা স্বয়ংক্রিয়ভাবে অগ্রভাগ পরিষেবাটি ধ্বংস করে দেবে। ওয়ার্ক ম্যানেজার হ'ল সেরা সমাধান তবে দুর্ভাগ্যক্রমে আপনাকে সঠিক সময় দেবে না।
টম

1

আমার কাছে এমন একটি অ্যাপ্লিকেশন রয়েছে যা অ্যালার্ম সেট করে solution সমাধানটি হ'ল এ্যালায়াম্যানেজ.সেটআ্যালার্মক্লক () এপিআই> = 21-তে ব্যবহার করা This


আপনার উত্তরের জন্য ধন্যবাদ. অ্যালার্ম ক্লক আইকন সরানোর কোনও উপায় আছে কি?
সার্জিও ভিউডস

দুর্ভাগ্যক্রমে, setAlarmClock কখনও কখনও কাজ করে না। আমি কম স্মৃতিযুক্ত ওরেও ডিভাইসে এটি পরীক্ষা করেছি।
বরিস সালিমভ

1

এটি হয়ত দেরীতে হতে পারে তবে আমি আশা করি এটি কারও সহায়ক হবে।

আমি এতদিন একই সমস্যায় আটকে ছিলাম। তবে এখন আমি কীভাবে এই সমস্যাটি সমাধান করব তা জানতাম। এটি যার যার একই সমস্যা হতে পারে for লোকেরা বলে চলেছে যে আপনাকে অটোস্টার্ট সক্ষম করতে হবে তবে আমি অটো স্টার্ট ব্যবহার করে এটি পরিচালনা করেছিলাম।

প্রথমত, ওয়েকফুলড্রোডকাস্টারাইসিভারটি এখন হ্রাস করা হয়েছে এবং আপনার ব্রডকাস্টআরসিভার ব্যবহার করা উচিত। দ্বিতীয়ত, আপনাকে ব্যাকগ্রাউন্ড সার্ভিসের পরিবর্তে ফরগ্রেড সার্ভিস ব্যবহার করতে হবে।

আমি আপনাকে নীচে উদাহরণ দিচ্ছি:

ইনসেন্টসওয়ার্স.ক্লাস

public class NotificationService extends IntentService {


//In order to send notification when the app is close
//we use a foreground service, background service doesn't do the work.



public NotificationService() {
    super("NotificationService");
}

@Override
public void onCreate() {
    super.onCreate();

}

@Override
public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
    super.onStartCommand(intent, flags, startId);

    //There is no difference in the result between start_sticky or start_not_sticky at the moment
    return START_NOT_STICKY;
}

@Override
protected void onHandleIntent(@Nullable Intent intent) {

    //TODO check if the app is in foreground or not, we can use activity lifecyclecallbacks for this

    startForegroundServiceT();
    sendNotification(intent);
    stopSelf();
}


/***
 * you have to show the notification to the user when running foreground service
 * otherwise it will throw an exception
 */
private void startForegroundServiceT(){

    if (Build.VERSION.SDK_INT >= 26) {
        String CHANNEL_ID = "my_channel_01";
        NotificationChannel channel = new NotificationChannel(CHANNEL_ID,
                "Channel human readable title",
                NotificationManager.IMPORTANCE_DEFAULT);

        ((NotificationManager) 
   getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(channel);

        Notification notification = new Notification.Builder(this, CHANNEL_ID)
                .setContentTitle("")
                .setContentText("").build();

        startForeground(1, notification);
    }
}

private void sendNotification(Intent intent){

    //Send notification
    //Use notification channle for android O+
}
}

ব্রডকাস্টার্সিভার.ক্লাসে অগ্রভাগ পরিষেবা শুরু করুন

public class AlarmReceiver extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {


    Intent service = new Intent(context, NotificationService.class);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        context.startForegroundService(service);
    } else {
        context.startService(service);
    }

}
}

এবং সেট অ্যালার্মগুলি এর মতো:

 public static void setAlarm(Context context, int requestCode, int hour, int minute){


    AlarmManager alarmManager =( AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(context//same activity should be used when canceling the alarm
            , AlarmReceiver.class);
    intent.setAction("android.intent.action.NOTIFY");

    //setting FLAG_CANCEL_CURRENT makes some problems. and doest allow the cancelAlarm to work properly
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 1001, intent, 0);

    Calendar time = getTime(hour, minute);

    //set Alarm for different API levels
    if (Build.VERSION.SDK_INT >= 23){
        alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,time.getTimeInMillis(),pendingIntent);
    }
    else{
        alarmManager.set(AlarmManager.RTC_WAKEUP,time.getTimeInMillis(),pendingIntent);
    }

তারপরে আপনাকে ম্যানিফেস্টে রিসিভার এবং পূর্বগ্রন্থটি ঘোষণা করতে হবে।

       <receiver android:name=".AlarmReceiver"
        android:enabled="true"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.NOTIFY">

            </action>
        </intent-filter>
    </receiver>
    <service
        android:name=".NotificationService"
        android:enabled="true"
        android:exported="true"></service>

আমি আশা করি এটা কারো সাহায্যে লাগবে.


কিন্তু কেউ কি উক্তি দিচ্ছে না? @ কেভান.কে
গুমুরুহ

0

আজকাল বেশিরভাগ নতুন ফোন কোনও ধরণের ব্যাটারি / পাওয়ার সাশ্রয় পরিচালকের সাথে একত্রিত হয় যা আপনার বর্ণিত একই কাজ করে। ডাবুস্টার এবং ক্লিন মাস্টার গণনা করা হচ্ছে না।

আমি মনে করি আপনার অ্যাপ্লিকেশন / প্লে স্টোরের তালিকায় আপনাকে একটি অস্বীকৃতি বা জিজ্ঞাসা করা দরকার যা উল্লেখ করে যে এই অ্যাপ্লিকেশনটি সঠিকভাবে কাজ করার জন্য আপনার ব্যাটারি ম্যানেজার অ্যাপ্লিকেশনটিকে বাদ দেওয়া দরকার।


এটি করার আরও একটি উপায় থাকতে হবে ... ব্যবহারকারীরা অস্বীকারটি পড়বেন না। আমি ভাবতে পারি না যে
স্যামসুং

এলার্ম "সময় এ" ফায়ার করা হবে না, কিন্তু তারা eventuially হবে
Gavriel

এটি (দুঃখের সাথে) সবচেয়ে সহায়ক উত্তর, আমি বলব। আমি আশা করি এর থেকে আরও ভাল সমাধান পাওয়া গেলেও হার্ডওয়্যার নির্মাতারা পুরোপুরি কাজ করা ভ্যানিলা অ্যান্ড্রয়েডকে ক্ষতিগ্রস্থ করছে।
কাবা

0

কিছুক্ষণ আগে আমি অ্যালার্মম্যানেজার ব্যবহার বন্ধ করে দিয়েছি ... একটি আরও ভাল এবং আরও স্থিতিশীল বিকল্প

  1. একটি পরিষেবা তৈরি করুন
  2. BOOT_COMPLETED এর জন্য একটি ব্রডকাস্টার রিসিভার নিবন্ধন করুন
  3. রিসিভার থেকে আপনার পরিষেবা ফায়ার
  4. আপনার পরিষেবার ভিতরে একটি নতুন হ্যান্ডলার শুরু করুন যা প্রতি X মিনিটে নিজেই লুপ করে ( অ্যান্ড্রয়েড - পোস্টডলেড () কল ব্যবহার করে পর্যায়ক্রমে একটি পদ্ধতি চালাচ্ছে )
  5. কাজটি সম্পাদন করার সময় এসেছে কিনা তা পরীক্ষা করুন: এখন - মৃত্যুদণ্ড কার্যকর সময়> 0 ( জাভাতে দুটি তারিখের মধ্যে পার্থক্যের সময়কাল কীভাবে সন্ধান করবেন? )
  6. যদি তাই হয় .. কাজটি সম্পাদন করুন এবং হ্যান্ডলারটি বন্ধ করুন

হ্যাঁ .. এটি একটি বেদনা..কিন্তু কাজ শেষ হয় না কোন বিষয়


4
আপনার পরামর্শের জন্য ধন্যবাদ, তবে আমি সেই পদ্ধতিকে এড়াতে চাই, কারণ অ্যালার্মম্যানেজারটি র্যাম বা কোনও সংস্থান গ্রহণ করবে না। এবং, যদি আপনার অ্যাপটি মারা যায় তবে পরিষেবাটি বন্ধ হয়ে যাবে, তাই না?
সার্জিও ভিউডস

আমি বলিনি যে এই পদ্ধতির বুলিপ্রোফ, তবে কমপক্ষে এটি বিভিন্ন এপিআই সংস্করণ নিয়ে গঠিত :)
ymz

4
নির্ভরযোগ্যভাবে কাজ করার জন্য এই সমাধানটির সম্ভবত ওয়েক লকগুলি ব্যবহার করা প্রয়োজন এবং এটি প্রচুর পরিমাণে ব্যাটারি খায়।
পাওয়ে নাদোলসকি

আমি অনুমান করি যে আপনি এটির পক্ষে ঠিক আছেন .. একমাত্র প্রশ্ন: সবচেয়ে খারাপটি হবে - অবিশ্বস্ত কোড বা খারাপ অভিনয়? যাইহোক, আমি ব্যক্তিগতভাবে ভাবি যে লক করার বিকল্প উপায় আছে যা কিছু ক্ষেত্রে উপযুক্ত হতে পারে (উদাহরণস্বরূপ: stackoverflow.com/questions/5346694/… )
ymz

তবে, প্রধান প্রক্রিয়া - ব্রডকাস পুনরুদ্ধারকারী - \
নূর হোসেন

0

আপনি কি BOOT_COMPLETED এর জন্য শুনছেন? যখন কোনও ডিভাইস রিবুট করা হয় তখন আপনাকে আবার অ্যালার্ম সেট করতে হবে।


হ্যাঁ. আমি যেমন বলেছি, ২০১২ সাল থেকে এখন অবধি অ্যালার্ম কাজ করছে। ডিভাইসটি পুনরায় চালু হয়ে গেলে আমি BOOT_COMPLETED সম্প্রচারের রিসিভারে অ্যালার্মগুলি পুনরায় নির্ধারণ করি।
সার্জিও ভিউডস

4
আপনার অ্যাপ্লিকেশনটির আবার কাজ করার জন্য পুনরায় বুট করা দরকার আধিকারিক সমাধানও নয়
টিম

4
@ টিমকাস্টেলিজানস যা আমি বলছি তা মোটেই নয়। যদি ডিভাইসটি পুনরায় চালু হয় তবে অ্যালার্ম ম্যানেজারের সাথে সেট সমস্ত অ্যালার্ম আবার সেট করতে হবে।
টাইলার ফাফফ

@ টাইলারফ্যাফ হ্যাঁ তবে ডিভাইসটি পুনরায় চালু করা এই প্রশ্নের সাথে সম্পর্কিত নয়
টিম

0

এই ডিভাইসগুলির Android এর কোন সংস্করণ চলছে?

এপিআই 23 এর হিসাবে, ওএস নিজেই একটি লো-পাওয়ার অলস মোডে চলে যায় যখন এটি কিছুক্ষণের জন্য অব্যবহৃত থাকে এবং সেই মোডে অ্যালার্ম সরবরাহ করা হবে না। অ্যাপ্লিকেশনগুলির স্পষ্টতই বলার একটি উপায় রয়েছে "তবে ব্যাটারি ব্যবহার নির্বিশেষে এই মুহুর্তে আমার এই বিপদাশঙ্কাটি বন্ধ হতে হবে," তবে; নতুন অ্যালার্ম ম্যানেজার পদ্ধতিগুলি ডাকা হয় setAndAllowWhileIdle()এবং setExactAndAllowWhileIdle()

আপনার বিবরণ থেকে মনে হচ্ছে এটি নির্দিষ্ট OEMs এর ডিভাইসে আপনার সমস্যাগুলির বিশেষ কারণ নাও হতে পারে, তবে এটি এমন একটি বিষয় যা অ্যালার্ম ম্যানেজারটি ব্যবহার করে সমস্ত বিকাশকারীদের সচেতন হওয়া উচিত।

পরিশেষে, অ্যালার্ম ম্যানেজারের অনেকগুলি ব্যবহার জব শিডিয়ুলার প্রক্রিয়াগুলি ব্যবহার করে আরও ভালভাবে সম্বোধন করা হয়। পিছনে সামঞ্জস্যের জন্য প্লে পরিষেবাদি "জিসিএম নেটওয়ার্ক ম্যানেজার" কার্যকারিতার ক্ষেত্রে জব শিডিয়ুলারের খুব কাছাকাছি - এটি অ্যান্ড্রয়েডের নতুন সংস্করণগুলিতে অভ্যন্তরীণভাবে কাজ শিডিয়ুলার ব্যবহার করে - এবং ক্লাসের নাম সত্ত্বেও নেটওয়ার্কিং সম্পর্কে প্রয়োজনীয় নয়।


স্মার্ট ম্যানেজার সহ স্যামসাং ডিভাইসগুলি ললিপপ চলছে। আমি ইতিমধ্যে মার্শমেলো ডিভাইসের জন্য সেটএক্স্যাক্টএন্ডএলওহিলআইডল ব্যবহার করছি। আমি জবশেডুলার এবং জিসিএম-তে একবার নেব। যাইহোক, সমস্যাটি অ্যালার্মটি বন্ধ হবে না বা অ্যালার্মটি বন্ধ হয়ে যাওয়ার পরে যদি ডিভাইসটি জাগ্রত না হয় তবে আমি জানি না।
সের্জিও ভিউডস

0

আমি মনে করি না অ্যাপটি মারার ফলে অ্যালার্ম ম্যানেজারটিকে আপনার অ্যাপ্লিকেশন জাগানো থেকে বাধা দেওয়া হবে।

এটি কেবলমাত্র যখন আপনি "জোর করে থামান" বা অ্যাপটি অক্ষম করে থাকেন আপনি যখন অ্যালার্ম ম্যানেজারের কল ব্যাক পান না।

এর মূল কারণ অন্য কিছু হতে পারে।

এম তেও ... সেটএক্স্যাক্টএন্ডএলওহিলআইডল থ্রোটলিং করে ... এটি যদি আপনি প্রতি 2 মিনিটের মধ্যে একটি অ্যালার্ম নির্ধারণ করেন তবে এটি ট্রিগার হবে না। .. 15 মিনিটের উইন্ডো হওয়া দরকার। ।


4
আপনার উত্তরের জন্য ধন্যবাদ. তবে, যদি তা না হয় তবে স্মার্ট ম্যানেজারে "ব্যাটারি অপ্টিমাইজেশন" অক্ষম করা অবস্থায় অ্যাপ কেন সঠিকভাবে কাজ করছে?
সার্জিও ভিউডস

আপনি কি রুট ডিভাইসে অ্যাপটি চালাচ্ছেন .. যদি হ্যাঁ অ্যাপ ম্যানেজারটি অ্যাপটিও অক্ষম করতে পারে ..
রূপেশ জেইন

না, আমি এটি কোনও মূলযুক্ত ডিভাইসে চালাচ্ছি না।
সের্জিও ভিউডস

@রুপজাইন "এটি হ'ল যদি আপনি প্রতি 2 মিনিটে অ্যালার্ম নির্ধারণ করেন তবে এটি ট্রিগার হবে না .. .. 15 মিনিটের উইন্ডো হওয়া দরকার" " এটি সম্পূর্ণ সত্য নয়, এটি সত্য হলে এটি একটি আসল সমস্যা। আপনি সেটএক্স্যাকট্যাক্টএন্ডএলওহিলআইডল পদ্ধতির জন্য অ্যান্ড্রয়েড ডক্সের মধ্যে সময় নির্ধারণের সময়সীমা ঠিক কী পড়তে পারেন। কোনও নির্দিষ্ট অ্যাপ্লিকেশনের জন্য এই অ্যালার্মগুলি ঘন ঘন কীভাবে বন্ধ হবে তার উপর বিধিনিষেধ রয়েছে। স্বাভাবিক সিস্টেম অপারেশনের অধীনে, প্রতি মিনিটের তুলনায় এটি অ্যালার্মগুলি প্রায় প্রতি মিনিটের বেশি প্রেরণ করবে না যখন স্বল্প-শক্তি নিষ্ক্রিয় মোডে এই সময়কাল উল্লেখযোগ্যভাবে দীর্ঘ 15 মিনিট হতে পারে।
eyadMhanna

0

শাওমির জন্য আপনার অ্যাপের জন্য অটোস্টার্ট সক্ষম করতে হবে। আমি অ্যান্ড্রয়েড পরিবর্তনগুলির একটি তালিকা (সাধারণত ফোনের প্রস্তুতকারকের কাছ থেকে) করার চেষ্টা করছি যা কোনও পটভূমি প্রক্রিয়াতে প্রভাব ফেলতে পারে। আপনার যদি কিছু নতুন থাকে তবে দয়া করে এখানে একটি উত্তর যুক্ত করুন অ্যান্ড্রয়েড টাস্ক কিলারদের তালিকা


0

আমাদের অ্যাপ্লিকেশন ম্যানেজারে অটোস্টার্ট ম্যানেজারে কিছু অ্যাপ্লিকেশন, ভিভো ভি 5,

ভিভো ভি 5-তে, আমরা এই মেনুটি আই ম্যানেজার -> অ্যাপ ম্যানেজার -> অটো স্টার্ট ম্যানেজারে খুঁজে বের করতে পারি। আমাদের অ্যাপটি এখানে সক্ষম করুন।

তারপরে অ্যাপটি মারা বা বন্ধ হয়ে গেলে আপনার অ্যালার্ম / অ্যালার্ম ম্যানেজার অ্যালার্মকে ট্রিগার করবে।


0

আমি একটি উত্তর খুঁজছিলাম এবং বেশ কয়েক ঘন্টা পরে আমি এটি খুঁজে পেয়েছি:

https://stackoverflow.com/a/35220476/3174791

আপনার অ্যাপ্লিকেশনটি 'সুরক্ষিত অ্যাপ্লিকেশন' দ্বারা হত্যা করা হয়েছে কি না তা আবার জানার উপায় এবং এটি কেবল হুয়াওয়ে ডিভাইসে কাজ করে। অন্যান্য ডিভাইসের (স্যামসুং, সনি, শাওমি, ইত্যাদি) কোনও সমাধান আছে কিনা তা আমাকে জানান।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.