के बीच निहित इरादों का उपयोग करके कस्टम क्रियाएं मैं एक कस्टम कार्रवाई और एक निहित इरादे का उपयोग करके संवाद करने के लिए दो अलग-अलग अनुप्रयोगों में दो गतिविधियां प्राप्त करने का प्रयास कर रहा हूं।आवेदन
पहले आवेदन (सर्वर), प्रकट निम्नलिखित है:
<application android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:theme="@style/AppTheme">
<activity android:name="edu.example.sharing.manager.SecureFileShare"
android:label="@string/title_activity_secure_file_share" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="edu.example.sharing.action.STORE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
</application>
दूसरा आवेदन इस प्रकार को कोई लक्ष्य बनाता है:
File f = new File(s);
Uri fileUri = Uri.fromFile(f);
Intent intent = new Intent();
intent.setData(fileUri);
intent.setAction("edu.example.sharing.action.STORE");
startActivityForResult(intent, STORE_REQUEST);
इसकी प्रकट सामान्य है। जब मैं क्लाइंट अनुप्रयोग में आशय भेजने का प्रयास करें, फिर भी, मैं एक गतिविधि नहीं मिला अपवाद:
FATAL EXCEPTION: main
android.content.ActivityNotFoundException: No Activity found to handle Intent {act=edu.example.sharing.action.STORE dat=file:///storage/sdcard0/Download/Alarcon12-Rigoberto.pdf }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
at android.app.Activity.startActivityForResult(Activity.java:3351)
at android.app.Activity.startActivityForResult(Activity.java:3312)
क्या एंड्रॉयड दूसरा आवेदन में घोषित गतिविधि को पहचानते नहीं करने के लिए पैदा कर रहा है? धन्यवाद।
मैनिफेस्ट में 'फ़ाइलस्टोर' गतिविधि में निर्यात की गई विशेषता डालने का प्रयास करें। – Varun
मेरे लिए भी कभी-कभी यह काम करता है जब मैं 'setAction()' का उपयोग करके कार्रवाई सेट कर रहा था, लेकिन फिर मैंने कार्रवाई को सेट करने के लिए 'इरादा' कन्स्ट्रक्टर का उपयोग करने के लिए स्विच किया, पूर्व: 'नया इरादा ("edu.example, manager। action.STORE ");' – Varun
अपनी पैकेज आईडी से मेल खाने के लिए अपनी कार्रवाई को बदलने का प्रयास करें, इसलिए edu.example.manager.action.STORE edu.example.manager.FileStore.action.STORE –