写真で何かをするアプリがあります。写真を作成してギャラリーに書き込んsdcard
だり、ギャラリーから画像を選択したりできます。
私はこれAndroidManifest.xml
を持っています:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
したがって、私のアプリは写真の宛先として検出されます。ここまでは順調ですね。しかし、次は何ですか?他のアプリが私のアプリに共有している画像はどこにありますか?
ご協力いただきありがとうございます。これが問題の可能性があります (AndroidManifest.xml)。意図をどこに置く必要がありますか?私は2つの活動をしています。1 つ目は画像操作なしのログイン、2 つ目は画像 (ダッシュボード) を見たい人です。しかし、ダッシュボードのアクティビティを使用する前に、まずログインする必要があるため、ダッシュボードを直接呼び出すことはできません。また、このコードをlogin onCreate Methodeに入れましたが、常にnullを返します-glleryを介してアプリなどに画像を「共有」すると(通常の起動では、nullになることは明らかです)。
LoginActivity.java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
db = new DatabaseHandler(getApplicationContext());
if(getIntent().getData() != null){
Uri uri = getIntent().getData();
File image = new File(uri.toString());
Log.d("jnLoginURI",image.getAbsolutePath());
} else {
Log.d("jnLoginURI","uri=null");
}
// ...............
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.owndms.owndmsandroid2"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" />
<application
android:icon="@drawable/owndms"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".DashboardActivity" >
</activity>
<activity
android:label="ownDMS"
android:name=".LoginActivity">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
</application>
</manifest>
ところで:ギャラリーから画像を選択するか、ダッシュボードアクティビティでカメラワークから画像を作成します。