আমি GWVectraNotifier ক্রিয়াকলাপ সহ একটি অ্যাপ্লিকেশন তৈরি করেছি যা অন্যান্য অ্যাপ্লিকেশন থেকে বিজ্ঞপ্তি প্রদর্শনের জন্য ডাকা হয়।
বিজ্ঞপ্তি সংলাপে, 'শো' বোতাম এবং 'বন্ধ' বোতামটি থাকবে।
'শো' বাটনে ক্লিক করুন, সম্পর্কিত ক্রিয়াকলাপ শুরু হবে।
উপরের অ্যাপ্লিকেশনটির কার্যকারিতা পরীক্ষা করতে,
আমি চেকমেইল ইভেন্ট ট্রিগারে কে 9 মেল অ্যাপ্লিকেশন থেকে GWVectraNotifier ক্রিয়াকলাপটি শুরু করেছি।
আমি GWVectraNotifier ক্রিয়াকলাপ সফলভাবে শুরু করতে সক্ষম হয়েছি, তবে 'শো' বোতামের অন্লিক আমাকে K9mail এর 'ম্যাসেজলিস্ট' ক্রিয়াকলাপটি শুরু করতে হবে do এটি করার জন্য, আমি নীচের কোডটি লিখেছিলাম:
Intent i = new Intent();
i.setComponent(new ComponentName("com.fsck.k9", "com.fsck.k9.activity.MessageList"));
i.putExtra("account", accUuid);
i.putExtra("folder", accFolder);
startActivity(i);
যা ছুড়ে:
WARN/ActivityManager(59): Permission denied: checkComponentPermission() reqUid=10050
WARN/ActivityManager(59): Permission Denial: starting Intent { cmp=com.fsck.k9/.activity.MessageList (has extras) } from ProcessRecord{43f6d7c8 675:com.i10n.notifier/10052} (pid=675, uid=10052) requires null
WARN/System.err(675): java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.fsck.k9/.activity.MessageList (has extras) } from ProcessRecord{43f6d7c8 675:com.i10n.notifier/10052} (pid=675, uid=10052) requires null
WARN/System.err(675): at android.os.Parcel.readException(Parcel.java:1247)
WARN/System.err(675): at android.os.Parcel.readException(Parcel.java:1235)
WARN/System.err(675): at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1298)
WARN/System.err(675): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1373)
WARN/System.err(675): at android.app.Activity.startActivityForResult(Activity.java:2817)
WARN/System.err(675): at android.app.Activity.startActivity(Activity.java:2923)
WARN/System.err(675): at com.i10n.notifier.GWVectraNotifier$2$1.run(GWVectraNotifier.java:63)
WARN/System.err(675): at android.app.Activity.runOnUiThread(Activity.java:3707)
WARN/System.err(675): at com.i10n.notifier.GWVectraNotifier$2.onClick(GWVectraNotifier.java:53)
WARN/System.err(675): at android.view.View.performClick(View.java:2408)
WARN/System.err(675): at android.view.View$PerformClick.run(View.java:8816)
WARN/System.err(675): at android.os.Handler.handleCallback(Handler.java:587)
WARN/System.err(675): at android.os.Handler.dispatchMessage(Handler.java:92)
WARN/System.err(675): at android.os.Looper.loop(Looper.java:123)
WARN/System.err(675): at android.app.ActivityThread.main(ActivityThread.java:4627)
WARN/System.err(675): at java.lang.reflect.Method.invokeNative(Native Method)
WARN/System.err(675): at java.lang.reflect.Method.invoke(Method.java:521)
WARN/System.err(675): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
WARN/System.err(675): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
WARN/System.err(675): at dalvik.system.NativeStart.main(Native Method)
আসলে আমি বুঝতে পারি না কে 9 মেলের মেসেজলিস্ট অ্যাক্সেস করার জন্য আমার নোটিফায়ার অ্যাপ্লিকেশনটির ম্যানিফেস্ট ফাইলটিতে কোন অনুমতিগুলি অন্তর্ভুক্ত করতে হবে। আমি k9mail অ্যাপ্লিকেশনটির ম্যানিফেস্ট ফাইলের অন্তর্ভুক্ত অনুমতিগুলির নীচে আটকানো করছি:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
<uses-permission android:name="android.permission.READ_OWNER_DATA"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="org.thialfihar.android.apg.permission.READ_KEY_DETAILS"/>
<permission android:name="com.fsck.k9.permission.READ_ATTACHMENT"
android:permissionGroup="android.permission-group.MESSAGES"
android:protectionLevel="dangerous"
android:label="@string/read_attachment_label"
android:description="@string/read_attachment_desc"/>
<uses-permission android:name="com.fsck.k9.permission.READ_ATTACHMENT"/>
<permission android:name="com.fsck.k9.permission.REMOTE_CONTROL"
android:permissionGroup="android.permission-group.MESSAGES"
android:protectionLevel="dangerous"
android:label="@string/remote_control_label"
android:description="@string/remote_control_desc"/>
<uses-permission android:name="com.fsck.k9.permission.REMOTE_CONTROL"/>
<permission android:name="com.fsck.k9.permission.READ_MESSAGES"
android:permissionGroup="android.permission-group.MESSAGES"
android:protectionLevel="normal"
android:label="@string/read_messages_label"
android:description="@string/read_messages_desc"/>
<uses-permission android:name="com.fsck.k9.permission.READ_MESSAGES"/>
<permission android:name="com.fsck.k9.permission.DELETE_MESSAGES"
android:permissionGroup="android.permission-group.MESSAGES"
android:protectionLevel="normal"
android:label="@string/delete_messages_label"
android:description="@string/read_messages_desc"/>
<uses-permission android:name="com.fsck.k9.permission.DELETE_MESSAGES"/>
আমার অ্যাপ্লিকেশনটিতে কোন অনুমতিটি অন্তর্ভুক্ত করার জন্য কেউ আমাকে বলতে পারবেন? উপরের অনুমতিগুলিতে কিছু কেবল k9mail এর জন্য, কারণ সেগুলি কে -9-র জন্য লেখা অনুমতি শ্রেণি। সুতরাং, আমি কেবল উপরের প্রদত্ত অনুমতিগুলিতে অ্যান্ড্রয়েডের অন্তর্নির্মিত অনুমতিগুলি অন্তর্ভুক্ত করতে সক্ষম হব। আমি পাশাপাশি চেষ্টা করেও চেষ্টা করেছি, তবে এটি আমার সমস্যার সমাধান করেনি :(