android.content.ActivityNotFoundException: इंटेंट {अधिनियम = android.intent.action.VIEW dat = PendingIntent {} को संभालने के लिए कोई गतिविधि नहीं मिली।
मैं PendingIntent का उपयोग करके अपने ऐप से किसी अन्य ऐप को निष्पादित करने का प्रयास कर रहा हूं। मुझे अन्य एप्लिकेशन के लंबित मूल्य मिलते हैं और ऐसा करते हैं (मुझे स्ट्रिंग प्रकार में लंबित आशय मूल्य मिला है)
public class NotificationCrawlingService extends NotificationListenerService {
AppDatabase appDatabase;
WordDatabase wordDatabase;
NotificationDatabase notificationDatabase;
Context context;
PackageManager pm;
NotificationEntity ne;
AllFragment allFragment;
RecyclerViewAdapter rv;
List<NotiData> notiData;
NotificationEntity noti;
Notification notification;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
super.onNotificationPosted(sbn);
context = getApplicationContext();
appDatabase = AppDatabase.getAppDatabase(context);
wordDatabase = WordDatabase.getWordDatabase(context);
notificationDatabase = NotificationDatabase.getNotificationDatabase(context);
pm = context.getPackageManager();
notification = sbn.getNotification();
Bundle extras = notification.extras;
String pakage_name = sbn.getPackageName();
String app_name = findApp_name(pakage_name);
PendingIntent pendingIntent = notification.contentIntent;
Intent intent1 = new Intent(Intent.ACTION_VIEW, Uri.parse(pendingIntent));
startActivity(intent1);
हालांकि यह काम नहीं करेगा। लॉग में यह त्रुटि दिखाता है
2020-08-17 16: 29: 27.197 4503-4503 / com.example.alimseolap1 E / AndroidRuntime: FATAL EXCEPTION: मुख्य प्रक्रिया: com.example.alimseolap1, PID: 4503 android.content.ActivityNotFoundException: Intent को संभालने के लिए कोई गतिविधि नहीं मिली। {act = android.intent.action.VIEW dat = PendingIntent {78fb01: android.os.BinderProxy@b9c2b85}} android.app.Instrumentation.checkStart-ctivityResult (Instrumentation.java:2018) पर android.app.Instrumentation.exececartAartecartage.art पर जाएं। .java: 1673) पर android.app.Activity.startActivityForResult (Activity.java:4689) androidx.fragment.app पर। java: 234) पर androidx.fragment.app.ragmentActivity.startActivityFromFragment (FragmentActivity.java:791) androidx.fragment.app.fmentmentActivity पर$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:933) at androidx.fragment.app.Fragment.startActivity(Fragment.java:1185) at androidx.fragment.app.Fragment.startActivity(Fragment.java:1173) at com.example.alimseolap1.views.Fragment.AllFragment$2. एंड्रॉइड पर lonceeive (AllFragment.java:170) android.localbroadcastmanager.content.LocalBroadcastManager.executePendingBroadcasts (LocalBroadcastManager .java:313) androidx.localbroadcastmanager.content.LocalBroadcastManMan में।$1.handleMessage(LocalBroadcastManager.java:121) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7050) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965) पर
क्या समस्या हो सकती है?
जवाब
आप इसे एक PendingIntent
में परिवर्तित नहीं कर सकते Uri
। के बजाय:
PendingIntent pendingIntent = notification.contentIntent;
Intent intent1 = new Intent(Intent.ACTION_VIEW, Uri.parse(pendingIntent));
startActivity(intent1);
तुम इसे करो:
PendingIntent pendingIntent = notification.contentIntent;
pendingIntent.send();
यह लॉन्च किया Intent
गया था जिसमें लिपटे हुए थे PendingIntent
।