मेरे पास एक टेक्स्ट रीडर ऐप है जिसे एंड्रॉइड सिस्टम से इरादा प्राप्त करने के लिए डिज़ाइन किया गया है जब मैं इसे खोलने के लिए टेक्स्ट फ़ाइल पर क्लिक करता हूं। लेकिन मेरा ऐप सिस्टम द्वारा पॉप अप सूची में नहीं है।txt फ़ाइल खोलने के लिए ऐप्स की सूची में मेरा ऐप क्यों नहीं है?
प्रकट
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.broadcastreceivertest1"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".BroadcastReceiverTest1Activity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_VIEW" />
<action android:name="android.intent.action.ACTION_EDIT" />
<action android:name="android.intent.action.ACTION_PICK" />
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.txt" />
<data android:host="*" />
</intent-filter>
</receiver>
</application>
</manifest>
मेरे विस्तारित BroadcastReceiver
public final class MyBroadcastReceiver extends BroadcastReceiver {
private String TAG = "MyBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Intent i = new Intent(context, BroadcastReceiverTest1Activity.class);
i.putExtra("URI", intent.getData());
context.startActivity(i);
Log.d(TAG, "Leaving onReceived...");
}
}
मेरे गतिविधि प्रसारण रिसीवर
public class BroadcastReceiverTest1Activity extends Activity {
private String uri ="";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Intent intent = getIntent();
final String action = intent.getAction();
if(Intent.ACTION_VIEW.equals(action)){
uri = intent.getStringExtra("URI");
TextView textView = (TextView)findViewById(R.id.textView);
textView.setText(uri);
}
}
}
धन्यवाद द्वारा खोले जाने के लिए: नीचे मेरी कोड कर रहे हैं!
मैं बस अपने ऐप को टेक्स्ट फाइल खोलने की सूची में रखना चाहता हूं, लेकिन अब मेरा ऐप हर प्रकार की फाइलों के लिए सूची में है। मेरे पास <डेटा एंड्रॉइड था: pathPattern = "। * \\। Txt" />, लेकिन मुझे आश्चर्य है कि मुझे माइम टाइप निर्दिष्ट करना चाहिए। मेरे ऐप को केवल टेक्स्ट फ़ाइलों को खोलने की सूची में दिखने के लिए मुझे क्या करना चाहिए? –
माइम प्रकार को '<डेटा एंड्रॉइड में बदलें: mimeType = "text/plain" /> ' – Hein
धन्यवाद! यह बहुत अच्छा काम किया! –