android.content.ActivityNotFoundException: Amacı işleyecek Etkinlik bulunamadı {act = android.intent.action.VIEW dat = PendingIntent {}

Aug 17 2020

PendingIntent kullanarak uygulamamdan başka bir uygulama yürütmeye çalışıyorum. Diğer uygulamaların bekleyen Amaç değerini alıyorum ve bunu yapıyorum (String türünde bekleyen amaç değeri var)

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);
        

Ancak işe yaramayacak. Bu hatayı Günlükte gösterir

2020-08-17 16: 29: 27.197 4503-4503 / com.example.alimseolap1 E / AndroidÇalışma Zamanı: FATAL EXCEPTION: main Process: com.example.alimseolap1, PID: 4503 android.content.ActivityNotFoundException: Amacı işleyecek Etkinlik bulunamadı {act = android.intent.action.VIEW dat = PendingIntent {78fb01: android.os.BinderProxy@b9c2b85}} android.app.Instrumentation.checkStartActivityResult (Instrumentation.java:2018), android.app.Instrumentation.execStartActivity (Instrumentation .java: 1673) android.app.Activity.startActivityForResult adresinde (Activity.java:4689) androidx.fragment.app.FragmentActivity.startActivityForResult (FragmentActivity.java:676) androidx.core.app.ActivityCompat.startActivityForResult adresinde (ActivityCompat. java: 234) androidx.fragment.app.FragmentActivity.startActivityFromFromment (FragmentActivity.java:791) at androidx.fragment.app.FragmentActivity$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. androidx.localbroadcastmanager.content.LocalBroadcastManager.executePendingBroadcasts (LocalBroadcastManager.java:313) adresinde androidx.localbroadcastmanager.content.LocalBroadcastManager'da onReceive (AllFragment.java:170)$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'de (ZygoteInit.java:965)

Sorun ne olabilir?

Yanıtlar

DavidWasser Aug 18 2020 at 16:34

Bir dönüştüremezsiniz PendingIntentbir içine Uriböyle. Onun yerine:

PendingIntent pendingIntent = notification.contentIntent;
Intent intent1 = new Intent(Intent.ACTION_VIEW, Uri.parse(pendingIntent));
startActivity(intent1);

Bunu yap:

PendingIntent pendingIntent = notification.contentIntent;
pendingIntent.send();

Bu başlattı Intentsarılmış PendingIntent.