এটি এখন কিছুক্ষণের জন্য আমাকে বাদাম চালাচ্ছে।
হোম বোতামটি কোনও অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে চাপ দেওয়া হয়েছে কি নির্ভরযোগ্যতার সাথে সনাক্ত করার কোনও উপায় আছে?
এটি ব্যর্থ হওয়ায়, কী কী কারণে কোনও কার্যকলাপ অনপেজ এ গিয়েছিল তা বলার শক্ত উপায় আছে? অর্থাত্ এটি সনাক্ত করতে পারি যে এটি কোনও নতুন ক্রিয়াকলাপের সূচনা করে বা পিছনে / বাড়িতে টিপে তৈরি হয়েছে।
আমি যে পরামর্শটি দেখেছি তা হ'ল অনপজ () ও কলটি আইফিনিশিং () কল করুন তবে এটি হোম বোতামটি টিপানোর সময় ঠিক মিথ্যা হিসাবে ফিরে আসবে ঠিক যেমন কোনও নতুন কার্যক্রম শুরু হচ্ছে সুতরাং এটি উভয়ের মধ্যে পার্থক্য করতে ব্যর্থ হয়।
যে কোনও সহায়তা অনেক প্রশংসিত।
** আপডেট **: এই লিঙ্কটির জন্য @ অ্যান্ড্রয়েড-ক্ষুধার্তকে ধন্যবাদ: https://nishandroid.blogspot.com/
নিম্নলিখিত পদ্ধতিটি অতিক্রম করে:
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
তারপরে নিম্নলিখিত ইভেন্টটি হোম বোতাম টিপুনগুলির জন্য বরখাস্ত হবে:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
//The Code Want to Perform.
}
});
এই লাইনটির সাথে কোনও পার্শ্ব প্রতিক্রিয়া আছে কিনা তা আমি নিশ্চিত নই:
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
সুতরাং এটি জনপ্রিয় বিশ্বাসের বিপরীতে বলে মনে হচ্ছে, আপনি বাস্তবে হোম কীটি শুনতে পারেন। উদ্বেগজনকভাবে, আপনি মিথ্যা ফিরে আসতে পারেন এবং হোম কীটি কিছুই করতে পারেন।
আপডেট : প্রত্যাশিত হিসাবে, এর সাথে কিছু দিক রয়েছে - এটি মনে হয় যে এম্বেড করা ভিডিও এবং গুগল মানচিত্র এই মোড সক্ষম করে নেই।
আপডেট : অনুমান করা যায় যে এই হ্যাকটি আর অ্যান্ড্রয়েড 4.0.০ এর পরে কাজ করে না
Activity.onUserLeaveHint()
।